gpt4 book ai didi

java - 字符串的三元运算符 - 有更好的方法吗?

转载 作者:行者123 更新时间:2023-11-29 03:22:21 25 4
gpt4 key购买 nike

我担心这个结构:

String out = "Text " + (obj==null ? "" : obj.getStr()+" ") + "text continues.";

它确实有效,但我认为它很丑。也许我太挑剔了..

无论如何,我想问的是,有没有更好的方法来做这类事情?
或者这是普遍接受的技术吗?

最佳答案

使用StringBuilder:

final StringBuilder sb = new StringBuilder("Text ");
if (obj != null)
sb.append(obj.getStr()).append(' ');
final String out = sb.append("text continues.").toString();

此外,为什么要使用 .getStr()obj 不是实现了 .toString() 吗?


请注意,如果 obj 确实实现了 .toString(),您可以比使用 Guava 的 Joiner 做得“更好”:

private static final Joiner JOINER = Joiner.on(" ").skipNulls();

//

final String out = JOINER.join("Text", obj, "text continues.");

不过,归根结底,这是一个风格问题。

关于java - 字符串的三元运算符 - 有更好的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868074/

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