A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个简单的user类,里面有属性name和identity。
假如user u = new user();
如何判断这个实例对象所属的字段全部为null。

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

5 个回复

倒序浏览
如果你是request.setAttribute("user",null),那么user对象就为空了。也就不存在了。
如果你是直接写user=null。但并没将user放进request域对象中。那request中的user肯定是存在的。如果你接着写了request.setAttribute("user",user)。意味着你将user=null的这个user重新放进了request.因为属性名都是User。所以将会被替换。request中的user就不存在。为空。无效。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
User类属性应该有get/set方法么?new一个user,然后判断每个属性的get方法返回值是不是null。

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

回复 使用道具 举报
这个就要看你的User类怎么设计了,如果你的User类的name,identity都设计成公共的,那么可以直接用对象取得属性值,想这样 u.name == null 和u.identiry == null 如果都为true的话就为空。
另一种情况,如果你的User类属性都设为私有的,并且提供了getter和setter方法,那么就可以通过对象调用方法的办法进行判断 u.getName() == null 和 u.getidentity() == null
还有
如果对象的属性为没有赋值的bool 属性 初始值为false  且属性永远不会为空,
除非将属性声明为 bool? 可空类型!
因为在 bool 对象 声明是是不能赋值为空值的
比如:

    public class Example
    {
        public bool IsTop { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Example e = new Example();
            System.Console.WriteLine(e.IsTop);
        }
    }



输出结果为:False

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
{:soso_e191:}
回复 使用道具 举报
当new一个对象时,这两个对象就已经存在了,然后可以分别取他们的才长度,长度为0时就为空
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马