java new一个实例对象,为什么不等于null?

如题所述

第1个回答  2018-01-31
因为你事先声明了:User user = new User();
后续无论数据库是否查到数据,返回的都是这个不为null的user啊。
如果要达到期望的结果,可以改写成如下写法即可:

User user = null;
....
rs = prep.executeQuery();
while(rs.next()){
user = new User();
user.setXXX
..
}
return user;本回答被网友采纳

java new一个实例对象,为什么不等于null?
因为你事先声明了:User user = new User();后续无论数据库是否查到数据,返回的都是这个不为null的user啊。如果要达到期望的结果,可以改写成如下写法即可:User user = null;...rs = prep.executeQuery();while(rs.next()){ user = new User();user.setXXX ..} return user;

java创建对象时,new 出一个对象 和 = null的区别
new 出来的就已经是实体了,这个实体会占用内存的,并且是一个对象的形式存在。null并不会占用内存,只是一个空的指向。

java创建对象时,new 出一个对象 和 = null的区别
new 一个对象需要相应开辟一个物理空间,而null不需要 如果是null,后续需要使用时必须先对其进行赋值,例如String b = null, 后续就不能是用b.indexof(",")等对象的方法进行操作,必须对b赋值后才能 而new一个对象则可以,例如String b = "asdga"; 可以直接使用b.indexof(",")一般是在对象作用...

java对象不等于null也不等于""?
null代表的是引用为空 就是在栈内存有了空间但是没有指向堆内存..是不是网页中name有内容的??你加个name.trim()再试试"".equals(name)

Java中new一个对象你应该知道的细节
当new一个对象时,首先通过类加载器将类文件加载到方法区,然后实例化为类对象。如果类的大小允许,对象将首先在栈或TLAB中分配空间。如果类过大,会分配到堆上,以避免频繁的垃圾回收(GC)操作,提高程序执行效率。此时,对象处于半初始化状态,成员变量默认为零值或null。接着调用构造方法,完成成员...

Java 中的一些小问题~
一种是:实例a被一个以上的引用指向,a是其中一个,如果a指向了null,但是实例a还有其他引用指向,b不会等于null 第二种是:实例a只有一个引用指向,当你把这个引用指向null后,那么实例就没有引用指向它了,那么java的垃圾回收器就会把实例a这个销毁,当然里面的b也会销毁,但是,如果里面的实例b在...

在Java中new一个对象的流程是怎样的?
在Java中使用new关键字创建一个对象,主要包含五个关键步骤:1. 类加载 当首次使用类,JVM通过类加载器将字节码加载至内存,形成Class对象。2. 内存分配 在内存中分配给对象一块连续区域,用于存储实例变量及相关信息。3. 初始化零值 为实例变量赋予默认零值,基本类型为对应类型零值,引用类型则初始化为...

java方法内部new的对象出来为null
你了解一下局部变量和全局变量,你这个定义在方法里面的是局部变量,在方法里面做改变并不会影响其他方法中的值,想实现数据同步,那么就用返回值接收,不用void,或者你用java的封装,set和get方法

java中做字符串非空判断,为什么要同时判断字符串不为null和不等于空串...
你好,很高兴回答你的问题。判断字符串是否是空串,首先要判断有没有这么一个对象,即不为null,然后才判断这个对象是不是空串。不然如果对象不存在,直接判断是不是空串就会抛空指针异常了。如果有帮助到你,请点击采纳。

java中,定义一个对象,然后令其等于null,那么这时候系统为这个对象分配...
应该会吧,但是java的垃圾回收机制会吧置空的对象优先回收,所以在编程时,应该即时把不用的对象置空,来通知系统回收对象节约内存

相似回答