Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-将整数转换为字符串_Java_String_Numbers_Int - Fatal编程技术网

Java-将整数转换为字符串

Java-将整数转换为字符串,java,string,numbers,int,Java,String,Numbers,Int,给定一个数字: int number = 1234; 将其转换为字符串的“最佳”方式是: String stringNumber = "1234"; 我曾尝试过搜索(谷歌)来寻找答案,但似乎没有多少人是“值得信赖的”。 有多种方法: String.valueOf(number)(我的首选项) “”+number(我不知道编译器是如何处理它的,也许它和上面一样高效) Integer.toString(数字) 这样就可以了。相当值得信赖。:) 只是澄清一下,除非您正在寻找微优化,否则这是有

给定一个数字:

int number = 1234;
将其转换为字符串的“最佳”方式是:

String stringNumber = "1234";

我曾尝试过搜索(谷歌)来寻找答案,但似乎没有多少人是“值得信赖的”。
有多种方法:

  • String.valueOf(number)
    (我的首选项)
  • “”+number
    (我不知道编译器是如何处理它的,也许它和上面一样高效)
  • Integer.toString(数字)

    • 这样就可以了。相当值得信赖。:)


      只是澄清一下,除非您正在寻找微优化,否则这是有效的,可以使用。

      Integer类有静态方法toString()-您可以使用它:

      int i = 1234;
      String str = Integer.toString(i);
      
      返回表示指定整数的字符串对象。参数转换为带符号的十进制表示形式并作为字符串返回,就像参数和基数10作为toString(int,int)方法的参数提供一样

      我经常使用的一个:

       Integer.parseInt("1234");
      

      关键是,有很多方法可以做到这一点,所有方法都同样有效。至于哪一个是最佳的/最有效的,你必须询问其他人。

      我知道如何将整数转换为字符串的方法是使用以下代码:

      Integer.toString(int);
      

      如果您有一个整数i和一个字符串s,则以下内容适用:

      int i;
      String s = Integer.toString(i); or
      String s = String.valueOf(i);
      
      如果要将字符串“s”转换为整数“i”,则以下操作将起作用:

      i = Integer.valueOf(s).intValue();
      

      这是我用来将整数转换成字符串的方法。如果我做错了,请纠正我

      /**
       * @param a
       * @return
       */
      private String convertToString(int a) {
      
          int c;
          char m;
          StringBuilder ans = new StringBuilder();
          // convert the String to int
          while (a > 0) {
              c = a % 10;
              a = a / 10;
              m = (char) ('0' + c);
              ans.append(m);
          }
          return ans.reverse().toString();
      }
      

      始终使用
      String.valueOf(number)
      Integer.toString(number)

      使用“+”数字是一种开销,并执行以下操作:

      StringBuilder sb = new StringBuilder();
      sb.append("");
      sb.append(number);
      return sb.toString();
      

      @Trufa-我会在这3个参数中使用valueOf()。@stoupa-是的,但是你可以在任何参数中使用
      String.valueOf(..)
      。它们实际上是一样的(最后一个调用第一个,第二个编译为第一个)。我喜欢1号one@Bozho你的最后一句话倒过来了。实际上,第一种方法调用最后一种方法。(参见JDK中的字符串源代码)int-oopsPitfall=0700;String.valueOf(oopsPitfall);非常感谢,这实际上很好,我不喜欢它,虽然(我不喜欢的不是技术性的)我只是“觉得”这是一个黑客,不是一个真正的解决方案(可能不是真的)。你的答案有很多额外的开销(相当于新的StringBuilder().append(“”).append(number).toString()@SolomonUcko我可以知道你的信息来源吗?如果答案正确,我想添加到答案中。例如:OP想要相反的结果,int->String not String->int。您可以删除答案以恢复您的声誉。ty+1。我想要这个,我想把字符串转换成整数,不管我搜索了多少次,直到我找到了这个答案,我才找到它。(1)不适用于负数[你是喜欢无符号整数的C开发人员吗?](2)依赖于截断[我们都知道假设的意思…](3)过于冗长(4)为什么?!重新发明轮子很有趣除了@Ingyher描述的问题外,它对前导零也不起作用。0123当输入变为83时,有哪些区别:
      Integer.toString(i)
      vs
      String.valueOf(i)
      ?@lokesh我正在查看String类中的valueOf实现-。toString将在String.valueOf内调用。从某种意义上说是代理。
      /**
       * @param a
       * @return
       */
      private String convertToString(int a) {
      
          int c;
          char m;
          StringBuilder ans = new StringBuilder();
          // convert the String to int
          while (a > 0) {
              c = a % 10;
              a = a / 10;
              m = (char) ('0' + c);
              ans.append(m);
          }
          return ans.reverse().toString();
      }
      
      StringBuilder sb = new StringBuilder();
      sb.append("");
      sb.append(number);
      return sb.toString();