Java中的包装器
//As valueOf方法将String和repective类型都作为参数,但为什么呢Java中的包装器,java,Java,//As valueOf方法将String和repective类型都作为参数,但为什么呢 最后一个语句是否显示了编译时错误,我试图将valueOf方法与基数一起使用。,因为没有这样的重载。阅读文档 虽然这是一个好问题,但我不知道为什么你的问题被否决了,这可能是因为大多数人看不到你的评论 正如Jeroen Vannevel所回答的,第一部分确实是正确的,java库中没有Integer.valueOf的重载版本 java.lang.Integer.valueOfString s,int-radix方
最后一个语句是否显示了编译时错误,我试图将valueOf方法与基数一起使用。,因为没有这样的重载。阅读文档
虽然这是一个好问题,但我不知道为什么你的问题被否决了,这可能是因为大多数人看不到你的评论 正如Jeroen Vannevel所回答的,第一部分确实是正确的,java库中没有Integer.valueOf的重载版本 java.lang.Integer.valueOfString s,int-radix方法返回一个整数对象,当使用第二个参数radix给出的基数进行解析时,该对象保存从指定字符串s提取的值。所以,这里字符串被解析成整数对象 另一方面,您谈论的是Integer.value1010,2。数字1010已经是一个整数,因此无法再次解析回整数!此外,如果您想要BinaryString,只需使用java.lang.Integer.toBinaryString。为了让您满意,如果您仍在考虑解析,请执行以下操作:- 解决你疑问的办法是 如何将Integer.value1010,16再次转换为整数 对象它将包含3F2的十六进制表示形式——请参见这里的F!!! 我希望你有理由!!! 因此,java库中没有提供这一功能
您希望Integer.value1010,2偶数执行什么操作?1010已经是一个数字,因此不能用某个基数来解析它。它的二进制表示是1111110010。只能分析字符串。@Erwin,那么为什么字符串s=Integer.ToString 10,2;当10是一个数字时也可以使用。因为Integer.toString不解析字符串,所以它会将数字转换为字符串。它与Integer.valueOf相反。所以,虽然有一个Integer.ToString 10,2,但没有Integer.ToString 10,2。@Jereon,我知道,但我的问题是,为什么没有一个重载方法可以将不带双引号的数字作为Integer类的第一个参数。
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.
}
}