在arrayList的Java NullPointerException中添加每个列表元素

在arrayList的Java NullPointerException中添加每个列表元素,java,arraylist,nullpointerexception,Java,Arraylist,Nullpointerexception,此程序用于添加两个列表的元素。 控制台输入采用以下形式: "10, 20, 30" "20, 30, 40, 50, 60" 输出将是 [30, 50, 70 50, 60] 注意:-如果一个或两个列表可以为null或空,则输出应为[]或空列表。在某些测试用例中,我会得到一个null指针异常错误 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Source {

此程序用于添加两个列表的元素。 控制台输入采用以下形式:

"10, 20, 30"
"20, 30, 40, 50, 60"
输出将是

[30, 50, 70 50, 60]
注意:-如果一个或两个列表可以为null或空,则输出应为
[]
或空列表。在某些测试用例中,我会得到一个null指针异常错误

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Source {
    public List<Integer> getSumOfListElements(List<Integer> first,List<Integer> second){
        List<Integer> list3 = new ArrayList<Integer>();
        if(second.isEmpty() || second==null){ //error Nullpointerexception is generated here
            if(first.isEmpty() || first==null){
                return list3;
            }else{
                return first;
            }
        }
        else if(first.isEmpty() || second==null){ //error Nullpointerexception is generated here
            return second;
        }

        int l1 = first.size();
        int l2 = second.size();

        if(l1>l2){
            for(int i=0; i<l1; i++){
                if(i<l2)
                    list3.add(first.get(i)+second.get(i));
                else
                    list3.add(first.get(i));
            }

        }//else part if l2>l1

        return list3;
    }

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String str1 = sc.nextLine();
        List<Integer> list1 = new ArrayList<Integer>();
        String st1 = str1.replaceAll("^\"|\"$", "");
        //same logic for list2 creation



        if(!st1.isEmpty()){
            String[] ss1=st1.split(", "); 
            for(int i=0;i<ss1.length;i++){
                list1.add(Integer.parseInt(ss1[i]));
            }
        }

        //same if function for list2

        if(st1.isEmpty()){
            System.out.println(list2);
        }....
        //same else if for list and for both
        ....   
        }else{
            Source obj = new Source();
            System.out.println("null object");
        }
    }
}

import java.util.ArrayList;
导入java.util.List;
导入java.util.Scanner;
公共类源{
公共列表GetSumofListents(第一个列表,第二个列表){
List list3=新的ArrayList();
如果(second.isEmpty()| | second==null){//error Nullpointerexception在这里生成
if(first.isEmpty()| | first==null){
返回列表3;
}否则{
先返回;
}
}
else如果(first.isEmpty()| | second==null){//error Nullpointerexception在这里生成
返回第二;
}
int l1=first.size();
int l2=第二个.size();
如果(l1>l2){

对于(int i=0;i而言,空检查必须首先始终是
如果(second.isEmpty()| | second==null){
//这是错误的

if(second==null | | second.isEmpty()){
//这将避免null指针异常

下一行有一个错误

else如果(first.isEmpty()| | second==null){//error Nullpointerexception在此处生成

正确的代码是


else if(first==null | | | first.isEmpty()){//error Nullpointerexception在此处生成

您好。您面临的错误是什么?