public class Test {
public static void main(String[] args) {
Integer obj1 = Integer.valueOf(12);
Integer obj2 = Integer.valueOf("12");
System.out.println(obj1.intValue() + " " + obj2.intValue());
Integer obj3 = Integer.valueOf("1010", 2);
Integer obj4 = Integer.valueOf(1010, 2);//Compile time error.
}
}
//作爲valueOf()
方法需要兩個字符串和repective類型作爲參數,但爲什麼不 最後的陳述表明編譯,我想使用valueOf()
方法與基數時錯誤。包裝器在Java中
你想讓'Integer.valueOf(1010,2)'做甚麼? 1010已經是一個數字,所以不能用某個基數進行分析。它的二進制表示是'「1111110010」'。只有字符串可以被解析。 – 2014-08-31 10:55:55
@Erwin,那麼爲什麼字符串s = Integer.toString(10,2);在這裏工作的同時也是一個數字。 – Aamir 2014-08-31 11:02:52
由於'Integer.toString'不會解析字符串,它會將數字*轉換爲字符串。它是'Integer.valueOf'的* * *。所以雖然有一個'Integer.toString(10,2)',沒有'Integer.toString(「10」,2)'。 – 2014-08-31 14:12:10