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;