【问题标题】:Convert specific int array to String将特定的 int 数组转换为 String
【发布时间】:2016-03-30 03:17:57
【问题描述】:

我有这样的变量 int 数组

int[] sample = new int[];
sample[0] = 1;
sample[1] = 2;

String two = sample[1].toString(); <==== i have problem with this

System.out.println(two);

如何解决? 我不能将 int[1] 的值显示为字符串..

【问题讨论】:

  • 你的意思是sample[1]而不是int[1],对吧?

标签: java arrays string int


【解决方案1】:

你做不到

int i = 2;
String two = i.toString();  // or sample[1].toString();

因为intprimitive type,而不是对象。当您使用int[] sample 数组时,请注意虽然sample 是一个对象,但sample[1] 只是一个int,所以还是原始类型。

相反,你应该这样做

int i = 2;
String two = String.valueOf(i); // or String.valueOf(sample[1]);

但如果你的问题只是将值打印到System.out,它有一个println(int x) 方法,所以你可以简单地做

int i = 2;
System.out.println(i);  // or System.out.println(sample[1]);

现在,如果要打印数组的完整表示,请执行

System.out.println(Arrays.toString(sample));

【讨论】:

    【解决方案2】:

    改变这一行:

    String two = sample[1].toString(); <==== i have problem with this
    

    到这里:

    String two = String.valueOf(sample[1]);
    

    【讨论】:

      【解决方案3】:

      @ericbn 提出了另一种方法。您可以从 int 原始类型创建 Integer 对象,然后使用 toString 方法获取它的 String 值:

      Integer I = new Integer(i);
      System.out.println(I.toString());
      

      【讨论】:

      • 虽然不是最佳实践,因为它创建了一个中间包装对象。
      • 您应该始终使用Integer.valueOf
      • @chrylis 你是什么意思?
      • 不要使用new Integer
      【解决方案4】:

      您也可以尝试使用 String.valueOf() 而不是 toString()。 该程序可以编辑为,

      int[] sample = new int[];
      int[0] = 1;
      int[1] = 2;
      
      String two = String.valueOf(int[1]);
      System.out.println(two);
      

      希望对你有帮助。

      您也可以参考以下链接int to string conversion

      【讨论】:

        【解决方案5】:

        另一种解决方案可以是-

        String two = sample[1]+"";//concatenate with empty String
        System.out.println(two);
        

        【讨论】:

        • 又一个不好的做法!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-06
        • 2013-01-08
        • 1970-01-01
        • 2013-12-28
        • 2011-11-30
        • 2011-10-16
        相关资源
        最近更新 更多