【问题标题】:Java Integer class code not compilingJava Integer 类代码未编译
【发布时间】:2017-07-30 14:33:14
【问题描述】:

我是 Java 新手。 我现在正在从在线资源学习包装类 以下代码无法编译,但根据在线资料,这是给出的结果

class  Integ
{
    public static void main(String[] args) 
    {
        Integer I=new Integer.valueOf("1111",2);
        System.out.println(I);
    }
}

你能纠正我哪里出错了。

【问题讨论】:

  • “以下代码无法编译” - 那么它给出的确切错误是什么,在哪一行?
  • Integer I = Integer.valueOf("1111", 2); ...摆脱那个流氓new关键字
  • Your code is fine,减去那个错字。
  • new 运算符需要像new Integer(...) 这样的构造函数,而不是通过Integer.valueOf(...) 返回的现有对象。在这里使用它有什么意义?
  • 顺便说一下…… (a) 这还不是一个真正的 Wrapper 类。它只是一个存放main 方法的地方。 (b) 在 Java 中,变量的名称以小写字母开头。所以i 而不是I

标签: java integer wrapper


【解决方案1】:
class  Integ
{
    public static void main(String[] args)
    {
        Integer i = Integer.valueOf("1111", 2);
        System.out.println(i);
    }
}

【讨论】:

    【解决方案2】:

    不要使用 new 运算符,直接使用Integer.valueOf("1111",2);

    public static void main(String[] args) 
    {
        Integer myI = new Integer.valueOf("1111",2);
                   // ^^^
        System.out.println(I);
    }
    

    改为:

    public static void main(String[] args) 
    {
        Integer myI = Integer.valueOf("1111",2);
                   // ^^^
        System.out.println(I);
    }
    

    【讨论】:

      【解决方案3】:

      您不应该使用new。只需将其删除:

      Integer I = Integer.valueOf("1111",2);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-02
        • 1970-01-01
        • 1970-01-01
        • 2017-01-28
        相关资源
        最近更新 更多