Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList null不为空_Java_Arraylist_Null_Is Empty - Fatal编程技术网

Java ArrayList null不为空

Java ArrayList null不为空,java,arraylist,null,is-empty,Java,Arraylist,Null,Is Empty,如果输入ArrayList为空或ArrayList为null,则该方法应返回null 对于arrayList为null的部分,我很难找到有效的解决方案 我正在检查arrayList是否为空,但我不知道如何检查arrayList是否为空 我得到了nullPointerExceptino错误,并且有一个错误指出,在检查arraylist是否错误时,我的returnnull语句是死代码 import java.util.ArrayList; public class Excerice_1 {

如果输入ArrayList为空或ArrayList为null,则该方法应返回null

对于arrayList为null的部分,我很难找到有效的解决方案

我正在检查arrayList是否为空,但我不知道如何检查arrayList是否为空

我得到了nullPointerExceptino错误,并且有一个错误指出,在检查arraylist是否错误时,我的returnnull语句是死代码

import java.util.ArrayList;

public class Excerice_1 {

    public static void main(String[] args) {
        ArrayList<Float> PA = new ArrayList<Float>();
    
        PA.add(null);

        
        
        System.out.println(PrefixAverage(PA));
        
    }

    public static ArrayList<Float> PrefixAverage(ArrayList<Float> X) {
        float sum = 0;
        
        ArrayList<Float> PrefixAverages = new ArrayList<Float>();
        
        if (X.isEmpty() )
            
            return null;
        else if (X == null)
            return null;
                
        else {
            for (int i = 0; i < X.size(); i++) {
                sum += X.get(i);
                PrefixAverages.add(sum / (i+1));
                
            }

        return PrefixAverages;
        }
        
            
    }

}
import java.util.ArrayList;
公开课1{
公共静态void main(字符串[]args){
ArrayList PA=新的ArrayList();
PA.add(空);
系统输出打印LN(前缀平均值(PA));
}
公共静态ArrayList前缀平均值(ArrayList X){
浮点数和=0;
ArrayList PrefixAverages=新的ArrayList();
if(X.isEmpty())
返回null;
else如果(X==null)
返回null;
否则{
对于(int i=0;i
首先,您的代码应该在检查列表的空条件之前处理空值。我在这里结合了这两个条件,但这里的顺序很重要。 i、 e.
null==X | | X.isEmpty()

第二,在进行求和时,您应该检查列表中的项是否为null,如果为null或实际值,则添加0

sum += null != X.get(i) ? X.get(i) : 0;
工作解决办法是:

public class Excerice_1 {

    public static void main(String[] args) {
        ArrayList<Float> PA = new ArrayList<Float>();

        PA.add(null);



        System.out.println(PrefixAverage(PA));

    }

    public static ArrayList<Float> PrefixAverage(ArrayList<Float> X) {
        float sum = 0;

        ArrayList<Float> PrefixAverages = new ArrayList<Float>();

        if (null == X || X.isEmpty())
            return null;
        else {
            for (int i = 0; i < X.size(); i++) {
                sum += null != X.get(i) ? X.get(i) : 0;
                PrefixAverages.add(sum / (i+1));

            }

            return PrefixAverages;
        }


    }
}
public class Excerice\u 1{
公共静态void main(字符串[]args){
ArrayList PA=新的ArrayList();
PA.add(空);
系统输出打印LN(前缀平均值(PA));
}
公共静态ArrayList前缀平均值(ArrayList X){
浮点数和=0;
ArrayList PrefixAverages=新的ArrayList();
if(null==X | | X.isEmpty())
返回null;
否则{
对于(int i=0;i
在检查空之前检查空值。