gpt4 book ai didi

java - 如果一行中结果不为空,则附加到字符串? (干净/好看)

转载 作者:行者123 更新时间:2023-11-30 04:29:59 26 4
gpt4 key购买 nike

我有一个带有 5 个内部字符串变量的对象,但其中 3 个是可选的。我可以为每个可能的组合创建一个构造函数,或者我可以调用通用构造函数并向其传递一些空字符串。后一种情况对我来说很有趣,如果我在调用构造函数时我可以执行以下操作:

String a = "Mandatory";
...
String e = "" + getVariableE(); //getVariableX() could return null,
//then it would be "".
//This is a "long" fetch statement.

new objectA(a, b, c, d, e);

另一个选择:

String d = "";
String e = "";
if(getVariableD!=null) //Remember pretty long fetch statement (ugly looking)
d = getVariableD();
if(getVariableE!=null)
e = getVariableE();

new objectA(a, b, c, d, e);

我不认为可以在不使用多个 if 语句的情况下使用多个构造函数。

new objectA(a, b, c);
new objectA(a, b, c, d)

我认为构造函数可能不是这里的一个因素,而只是将行设置为“”或其他内容的方式;尽管如此,我还是把它留下了,以防万一我错过了什么。

这是简单的objectA类

public class objectA {
String a; //Needed
String b; //Needed
String c; //Optional
String d; //Optional
String e; //Optional
/*
* Possible constructor
*/
void object(String a, String b, String c, String d, String e) {
this.a = a;
...
this.e = e;
}

注意:getVariableX() 从 XML 文件获取一个属性,因此我可以强制它必须包含一个字符串,但我认为这不太好。更好地赋予 XML 文件灵 active 。

最佳答案

您可以使用 Java 8 中包含的Optional 类。

this.d = Optional.ofNullable(d).orElse("");

关于java - 如果一行中结果不为空,则附加到字符串? (干净/好看),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870594/

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