java 对象属性为空_java中一个对象的属性是null还是空字符串

展开全部

对象的字符串属性, 在没赋值的情况下是62616964757a686964616fe4b893e5b19e31333365643534nullclass Student{

String name;//没有赋值,初始化的情况下,name==null

}

如果要避免出现null ,那么可以采取下面几种方式 ,下面的方式比较多,可以根据实际情况,使用几种.public class Person {

String name;

public Person() {//无惨构造器

name=""; // 直接给name赋值为""

}

public Person(String name) {//有参数构造器

this.name = validateName(name);//先验证参数name是否为空,为空字符串""

}

public String getName() {//获取name属性的值

return name == null ? "" : name;// 获取name属性,如果为null,那么返回空字符串""

}

public void setName(String name) {//设置name属性的值

this.name =validateName(name);//验证name是否为空, 如果为空,那么返回空字符串""

}

private String validateName(String name) {//验证字符串是否为空.为空就返回空字符串

return name == null ? "" : name;

}

public static void main(String[] args) {

Person p = new Person();

p.setName(null);

if("".equals(p.name)&&"".equals(p.getName())) {

System.out.println("空字符串");

}

}

}

最后字符串的比较. 使用确定不为null的字符串去调用equals方法.

因为值null的字符串调用equals方法,会出现空指针异常string a = null;

string b = "";

b.equals(a); //false

a.equals(b); //空指针异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值