
java new一个实例对象,为什么不等于null
我在写注册会员逻辑时。当在注册页面填写用户名liuyifei。发送请求后,去数据库中查询t_user表。如果存在在用户名则返回注册页面;如果不存在,则添加此次注册信息。为...
我在写注册会员逻辑时。 当在注册页面填写用户名liuyifei。 发送请求后,去数据库中查询t_user表。
如果存在在用户名则返回注册页面;如果不存在,则添加此次注册信息。
为什么,数据库中不存在该用户名,返回的user实例不等于null呢。
public User findByUsername(String username) throws Exception
{
Connection conn = null;
User user = new User();
try
{
conn = DBUtil.getConnection();
String sql = "select * from t_user
where username=?";
PreparedStatement prep =
conn.prepareStatement(sql);
prep.setString(1, username);
ResultSet
rs =
prep.executeQuery();
while(rs.next()){
user.setUsername(rs.getString("username"));
user.setName(rs.getString("name"));
user.setPwd(rs.getString("pwd"));
user.setGendar(rs.getString("gendar"));
}
}
catch (Exception e)
{
e.printStackTrace();
}finally{
DBUtil.close(conn);
}
System.out.print("根据注册的用户名字段,到数据库t_user表中匹配。当该用户名不存在时,检验返回的user是否等于null:
");
System.out.println(user==null);
return user;
} 展开
如果存在在用户名则返回注册页面;如果不存在,则添加此次注册信息。
为什么,数据库中不存在该用户名,返回的user实例不等于null呢。
public User findByUsername(String username) throws Exception
{
Connection conn = null;
User user = new User();
try
{
conn = DBUtil.getConnection();
String sql = "select * from t_user
where username=?";
PreparedStatement prep =
conn.prepareStatement(sql);
prep.setString(1, username);
ResultSet
rs =
prep.executeQuery();
while(rs.next()){
user.setUsername(rs.getString("username"));
user.setName(rs.getString("name"));
user.setPwd(rs.getString("pwd"));
user.setGendar(rs.getString("gendar"));
}
}
catch (Exception e)
{
e.printStackTrace();
}finally{
DBUtil.close(conn);
}
System.out.print("根据注册的用户名字段,到数据库t_user表中匹配。当该用户名不存在时,检验返回的user是否等于null:
");
System.out.println(user==null);
return user;
} 展开
9个回答
展开全部
User user = new User();user这个对象分配了指向 new SomeClass() 所创建的内存空间
如果想为空的话就User user = null;这样就会分配了指向 null,一个空的对象,未能指向任何内存空间
如果想为空的话就User user = null;这样就会分配了指向 null,一个空的对象,未能指向任何内存空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
肯定啊,因为new的时候,java已经创建了事例对象,分配了内存地址!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键在于User user = new User(); 这样你创建了对象,user!=null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要用new, 直接User user=null;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询