gpt4 book ai didi

java - 显示以 "null"开头的结果

转载 作者:行者123 更新时间:2023-12-01 09:02:27 25 4
gpt4 key购买 nike

我希望我的程序显示没有“null”的结果。我知道当我对str1 + str2求和时,str1等于null,这就是结果不正确的原因,但我不知道如何解决它。

static String str1;
static String str2;
public static void ConvertBinaryArrayToInt(List<Integer> binary) {
for (int i = 0; i<binary.size(); i++ ){
int c = binary.get(i);
str2 = String.valueOf(c);
str1 = str1 + str2;
}
System.out.println(str1);
}


public static void main(String[] args){
List<Integer> binary1 = new ArrayList<>(4);
binary1.add(0,1 );
binary1.add(1,0 );
binary1.add(2,1 );
binary1.add(3,1 );
BinaryArrayToNumber.ConvertBinaryArrayToInt(binary1);
}

最佳答案

解决这个问题的一个非常小的方法是这样做

str1 = (str1 == null ? "" : str1) + (str2 == null ? "" : str2);

但是,您应该为此创建一个方法

private String safeConcatenate(String str1 String str2) {
if (str1 == null && str2 == null)
return "";
if (str1 == null)
return str2;
if (str2 == null)
return str1;
return str1 + str2;
}

如果您不需要保持变量相同,那么这也应该有效:

private String safeConcatenate(String str1, String str2) {
if (str1 == null)
str1 = "";
if (str2 == null)
str2 = "";
return str1 + str2;
}

关于java - 显示以 "null"开头的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41567754/

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