我正在运行此代码并遇到编译时错误,请查看它:
class test
{
public static void main(String []args)
{
int age=new int(20);
System.out.println("My age is " + age);
}
}
答案 0 :(得分:3)
int
不是一个类,它是一个原始类。您可以使用Integer
包装类:Integer age = new Integer(20)
,或者更好地使用int age = 20
。
注意:实际上无需直接调用Integer
构造函数,自动装箱可以为您执行此操作:Integer age = 20;
并且20
将转换为Integer
对象自动。
答案 1 :(得分:2)
你不能将new
与原始类型一起使用 - 就像那样简单。你为什么想要?只需直接使用文字:
class Test {
public static void main(String []args) {
int age = 20;
System.out.println("My age is " + age);
}
}
我看不出你为什么要调用int(int)
构造函数的原因。在C#中,值类型可以具有构造函数,编写像new DateTime(year, month, day)
这样的东西是有意义的,但是复制像这样的值没有意义。
答案 2 :(得分:0)
在Java中,您需要使用等效的对象包装器(在本例中为Integer
)来执行此操作。