【问题标题】:What method should I use to convert an int to a String?我应该使用什么方法将 int 转换为 String?
【发布时间】:2012-01-16 13:26:18
【问题描述】:

我知道String.valueOf(int) 启用缓存并且通常不会导致创建额外的对象,但是("" + 1) 是否获得了某种编译器优化?

应该使用哪一个?

编辑:String.valueOf(int) 不启用缓存,Integer.valueof(int) 可以。

【问题讨论】:

    标签: java type-conversion


    【解决方案1】:

    它们都是等价的,更多的是个人品味问题。就个人而言,我更喜欢 String.valueOf(int)。

    【讨论】:

      【解决方案2】:

      "" + 1 在我看来是一个坏习惯,据我所知,它没有以任何方式进行优化。

      坚持使用String.valueOf(int)

      【讨论】:

      • 好吧,我以为他们已经优化了这个(无法确认我在哪里看到的)。
      【解决方案3】:

      选择显式转换而不是隐式转换。

      String.valueOf(int) 告诉你它在做什么。

      虽然,我总是使用Integer.toString(int),因为我将其视为原始inttoString 方法。

      【讨论】:

        【解决方案4】:

        不,String.valueOf 不执行任何缓存。但是,它比"" + 1(也不执行任何缓存)更可读,因为它说明了你想要做什么。

        "" + 1 谈论字符串连接和空字符串,这两者都与您的目标无关 - 即获取整数的值,作为 String

        String.valueOf 准确地表达了你想要做什么,所以使用它。

        【讨论】:

          【解决方案5】:

          使用String.valueOf(int) 对应用程序来说是合理的最佳选择。

          ""+i 可能更适合您,除非您有大量时间和资源有限的设备,否则节省您的时间可能比节省一微秒的 CPU 时间更有价值。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-06-12
            • 2021-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-07-29
            相关资源
            最近更新 更多