parseInt()
とどう違うのですかvalueOf()
?
それらは、私にはまったく同じことを行うように見えます ( 、 などにも当てはまりますがparseFloat()
、parseDouble()
とparseLong()
どう違うのでしょうかLong.valueOf(string)
?)。
また、慣例的に、これらのうちどれがより好ましく、より頻繁に使用されるのでしょうか?
ベストアンサー1
さて、APIはInteger.valueOf(String)
String
は、まさにそれが与えられたかのように解釈されると述べていますInteger.parseInt(String)
ただし、はオブジェクトvalueOf(String)
を返しますが、はプリミティブを返します。new
Integer()
parseInt(String)
int
キャッシュの潜在的な利点を享受したい場合は、Integer.valueOf(int)
、この目障りなものを使用することもできます:
Integer k = Integer.valueOf(Integer.parseInt("123"))
ここで、必要なのがプリミティブではなくオブジェクトである場合、前者は、、、などにわたって一貫して存在するため、を使用する方valueOf(String)
が、 から新しいオブジェクトを作成するよりも魅力的かもしれません。parseInt(String)
Integer
Long
Double