用" null"显示结果在开始

时间:2017-01-10 11:30:26

标签: java

我希望我的程序显示没有" 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);
}

1 个答案:

答案 0 :(得分:1)

解决问题的一个很小的方法就是

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;
}