为什么循环没有完成它的工作?

时间:2017-02-02 14:03:18

标签: java

所以我有这个代码,由于某种原因,它返回的String[]总是填充一个" s"。我想要它添加一个" s"到每个String的末尾,如果数组中的值为null,则使其成为单个" s"。

public static String[] fillArray( List<String> list ){
    String[] output = new String[list.size()];
    for(int a=0; a<output.length; a++){
        if( output[a]==null){
            output[a] = "s";
        }else{
            output[a]= list.get(a) + "s";
        }
    }
    return output;
}

3 个答案:

答案 0 :(得分:5)

if( output[a]==null){

需要

if( list.get(a)==null){

因为前者总是null,因为那是你正在填充的内容。

答案 1 :(得分:3)

output[a]==null始终为空,应为list.get(a) == null

答案 2 :(得分:2)

输出[a]始终为空,因为您尚未填充它。