我可以使用new关键字初始化一个int变量,并将值传递给int构造函数

时间:2011-01-01 11:49:15

标签: java

我正在运行此代码并遇到编译时错误,请查看它:

class test
{
   public static void main(String []args)
   {
      int age=new int(20);
      System.out.println("My age is " + age);
   }    
}

3 个答案:

答案 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)来执行此操作。

相关问题