Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 String.valueOf(布尔值)与String之间的差异_Java - Fatal编程技术网

Java String.valueOf(布尔值)与String之间的差异

Java String.valueOf(布尔值)与String之间的差异,java,Java,以下各项在性能、可维护性等方面是否存在差异: String str = String.valueOf(Boolean.TRUE); vs 速度更快,因为它不涉及函数调用,除非它们可以优化为相同的 我也认为阅读更容易。 方法的值适用于变量 常量字符串最好是这样定义的: private static final String TRUE = "true"; 这样一来,它们是恒定的,可以确定地进行优化。 因此: 实际上没有,没有什么区别。但是第一个更易于维护,因为它使用了一个定义良好的常量,例如在t

以下各项在性能、可维护性等方面是否存在差异:

String str = String.valueOf(Boolean.TRUE);
vs

速度更快,因为它不涉及函数调用,除非它们可以优化为相同的

<>我也认为阅读更容易。

方法的值适用于变量

常量字符串最好是这样定义的:

private static final String TRUE = "true";
这样一来,它们是恒定的,可以确定地进行优化。 因此:


实际上没有,没有什么区别。但是第一个更易于维护,因为它使用了一个定义良好的常量,例如在tru中避免输入错误?你想解决的真正问题是什么?还有,为什么要跳过字符串str=Boolean.TRUE.toString@Pshemo我只是好奇有一个常数,这是一个更好的选择。这两个版本本质上都是硬编码常量。第二个是直截了当的。我不确定使用像第一个这样的东西是否有额外的优势。而且我没有考虑过使用Boolean.TRUE.toString,但也可以。真正的问题应该是:为什么需要布尔值作为字符串?依赖关系是我用来传递这个额外参数的另一个api。我不同意,尤其是在您自己的代码中重新定义Boolean.TRUE常量。@Boris这根本不是该代码所做的。它定义了一个常量字符串。显然,这就是OP需要的东西。
String str = "true";
private static final String TRUE = "true";
String str = TRUE;