先看段代码:

        InfoOfDay day = new InfoOfDay();
        List<String> list =day.getIncidentList();
        list = new ArrayList<>() ;
        list.add("hu");

        List<String> list1 =day.getIncidentList();
        System.out.println(list1.size());     //这行会报Null指针异常
@Data
public class InfoOfDay {

   

    //和当日匹配的日程信息
    private List<String> incidentList ;

   
}

 

上面代码运行会报错,是因为

List<String> list =day.getIncidentList(); //这个list 里面保存的是一个地址,当
day.getIncidentList()时,类中的list是null,没指向任何地址,
list = new ArrayList<>() 只是改变了外面list的值,类中的list 的值没有变

总结:java语言本质都是在传值,只不过针对引用类型传的是地址的值。

 
                    
            
                

相关文章:

  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
  • 2020-05-07
  • 2021-08-31
猜你喜欢
  • 2021-07-19
  • 2022-12-23
  • 2021-10-12
  • 2022-01-14
  • 2022-03-10
  • 2022-02-12
相关资源
相似解决方案