1. ホーム
  2. java

[解決済み] javaのparseInt()とvalueOf()の違い?

2022-03-21 04:58:30

質問

どのように parseInt() とは異なり valueOf() ?

これらは、私にはまったく同じことをするように見えます。 parseFloat() , parseDouble() , parseLong() 等とどう違うのでしょうか? Long.valueOf(string) ?

また、慣習的にどちらが好ましく、よく使われているのでしょうか?

解決方法は?

さて 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 など。