java中new一个对象和对象=null有什么区别
2017-07-14 08:59
330 查看
原创:转载请注明出处
今天在写代码时,遇到一个问题,特此进行记录。
for (ProfileDto profileDto : profile)
{
// Profile resProfile=null;
Profile resProfile=new Profile();
// 将profileDto对象的属性值复制给resProfile对象
Tools.copyPropertiesIgnoreNull(profileDto, resProfile);
proList.add(resProfile);
}
今天在写这段代码时,起初是Profile resProfile=null;然后debug走到复制属性方法的时候,就直接跳出了,
然后改为new的方式就ok了。
所以就很好奇,对此特地进行研究和总结。
对象 = null 指向到一个空地址,只是声明了一个对象的引用,并没有在jvm中开辟内存,已进行存储。
而u2 指向的一个具体的对象,对象需要空间存放的。在对象引用的时候,会将对象的内存地址传给引用的对象,以进行存储。。。
另外,如果你创建的对象,需要自己去读取操作数据,就需要通过new的方式,可以进行初始化,如果是接收其他地方的
传值,可以不通过new的方式,创建对象。
学识尚浅,如有错误请多多指教。
今天在写代码时,遇到一个问题,特此进行记录。
for (ProfileDto profileDto : profile)
{
// Profile resProfile=null;
Profile resProfile=new Profile();
// 将profileDto对象的属性值复制给resProfile对象
Tools.copyPropertiesIgnoreNull(profileDto, resProfile);
proList.add(resProfile);
}
今天在写这段代码时,起初是Profile resProfile=null;然后debug走到复制属性方法的时候,就直接跳出了,
然后改为new的方式就ok了。
所以就很好奇,对此特地进行研究和总结。
对象 = null 指向到一个空地址,只是声明了一个对象的引用,并没有在jvm中开辟内存,已进行存储。
而u2 指向的一个具体的对象,对象需要空间存放的。在对象引用的时候,会将对象的内存地址传给引用的对象,以进行存储。。。
另外,如果你创建的对象,需要自己去读取操作数据,就需要通过new的方式,可以进行初始化,如果是接收其他地方的
传值,可以不通过new的方式,创建对象。
学识尚浅,如有错误请多多指教。
相关文章推荐
- JAVA中创建一个对象有哪几种方法,有什么区别?
- java new一个对象为什么不等于null
- java笔记--Day07--new一个对象时,内存中发生了什么?
- 什么是静态代码块?java中如何使用空参构造方法自动生成不同名字的对象,使用非静态的属性和静态属性有什么区别,原因是什么?如何理解static关键字
- java中new一个对象放在循环体里面与外面的区别
- java 的构造器是干什么用的,初始化对象,还是初始化数据,默认的无参构造器,和有参构造器的区别,找高手解答
- java中,return和return null有什么区别吗?
- String s = Null 与 s="" 有什么区别?null意思是不存在,""意思是存在,但是值为空 null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空
- Java Synchronized获得类的锁和获得对象的锁有什么区别呢?
- Java - Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
- Java静态对象和非静态对象有什么区别??
- java的String=a; a==null和a.equals(null)这两个判断有什么区别
- Java的synchronized加在方法上或者对象上有什么区别?
- java中,只声明一个对象不赋值,与声明一个对象并赋为null,有啥区别?
- 在java中null与""有什么区别----所有的语言都是这样子
- Java静态对象和非静态对象有什么区别??
- 当几个引用指向同一个java对象的时候,用什么办法能让这几个引用都变成 null?
- Java的synchronized加在方法上或者对象上有什么区别?
- javascript – 为什么null是一个对象,null和undefined之间有什么区别?(最通俗的解释,推荐)
- java中当给一个对象赋值为null时发生了什么