gpt4 book ai didi

java - 如何简洁地创建一个以原始值开头而不使用空双引号的字符串?

转载 作者:行者123 更新时间:2023-12-01 06:33:49 24 4
gpt4 key购买 nike

要获取“99 瓶”的 newString 值:

int x = 99;
String fruit = " bottles";

为了形成一个新的字符串,我这样做:

String newString = "" + x + fruit;

因为这是不允许的:

String newString = x + fruit;

但是这里使用双引号似乎不太正确。

是否有更好的方法来执行此操作(不使用 ""+ x)?

最佳答案

需要明确的是,以下内容是完全合法的 Java:

    String fruit = " bananas";
int x = 99;
String newString = x + fruit; // "99 bananas"

如果左操作数表达式或右操作数表达式的类型为 String,则双元 + 运算符为字符串连接;请参阅JLS 15.18 .

在这种情况下,以下内容是等效的:

    String newString = "" + x + fruit;

最初的""是一个常见的习惯用法,它使读者清楚地了解涉及字符串连接。 (不过我个人不会使用它,因为它对我来说看起来很笨重。IMO,这就像添加多余的括号来帮助那些不知道运算符 Java 优先规则的程序员。Icck。)

在上面的示例中,"" 没有语义差异。但是,有时前导 "" 会改变表达式的含义。例如:

    int x = 1;
String fruit = " bananas";
String newString = x + x + fruit; // "2 bananas"
String newString2 = "" + x + x + fruit; // "11 bananas".

(请注意,JLS 允许 javac 编译器积极优化字符串连接序列,因此与 "" 的明显连接将被优化掉。)

关于java - 如何简洁地创建一个以原始值开头而不使用空双引号的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4061032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com