为啥没有 String.valueOf(short a);

Posted

技术标签:

【中文标题】为啥没有 String.valueOf(short a);【英文标题】:Why is there no String.valueOf(short a);为什么没有 String.valueOf(short a); 【发布时间】:2015-10-05 10:00:09 【问题描述】:

我不得不对一个字符串进行short,我能做到的唯一方法就是用它连接一个空字符串,这是正确的方法吗?

PS,为什么没有String.valueOf(short a)

【问题讨论】:

为什么不直接使用它可以隐式转换为int 的事实呢? short x = 10; String y = String.valueOf(x); 应该可以正常工作。 你不能简单地将 short 提升为 int 吗? String.valueOf((int) a);这种情况下没有精度损失,是吗? @Jagger 是隐式提升的,所以不需要做任何事情。与byte 相同。 那就更好了。 :) @JonSkeet 试过了,但我一定错过了一些东西,而且它工作得很好,谢谢...... 【参考方案1】:

因为 JDK 的创建者认为不需要它。

如果您很短,您可以直接致电String.valueOf(int)

请注意,即使Short.toString(short) 也被实现为return Integer.toString((int)s, 10);

【讨论】:

【参考方案2】:

你可以使用

 short s = 5
 String str = String.valueOf(s); // s is widened to int.

 String str = Short.toString(s);

添加 String.valueOf(short) 不会有太大变化。

【讨论】:

【参考方案3】:

String.valueOf(short a); 不需要,因为String.valueOf(int a); 是等效的,因此在 String API 中将是多余的。

为了使用 Short 内置函数使用:

Short.toString(short);

此外,正如Jon Skeet 所指出的那样:

为什么不直接使用它可以隐式转换为 int 的事实呢? short x = 10; String y = String.valueOf(x); 应该可以正常工作

String.valueOf(int);

【讨论】:

以上是关于为啥没有 String.valueOf(short a);的主要内容,如果未能解决你的问题,请参考以下文章

为啥 String.valueOf(null) 会抛出 NullPointerException?

为啥字符串连接比 String.valueOf 将 Integer 转换为 String 更快?

为啥 java.lang.Short 没有类似于 java.lang.Integer 的 reverse() 方法 [关闭]

(String)强制转换toString()和String.valueOf()的区别

MapClustering 不渲染 String.valueof(cluster.getSize)

Java中几种常用数据类型之间转换的方法