java 中如何判断一个String变量是否为空?

classPeople{privatestaticStringnationality;Stringname;intage;publicStringprint(){retu... class People
{
private static String nationality;
String name;
int age;

public String print()
{

return "国籍 = " + nationality + ",姓名 = " + name + ",年龄 = " + age ;
}

static void setNationality(String c)
{
//System.out.println(c);
if(c.equals(null))
{
c = "未获得";
}
nationality = c ;
}
}

public class StaticTest
{
public static void main(String args[])
{
String n = "china";
People.setNationality(n);
People p1 = new People();
People p2 = new People();
p1.name = "山山";
p1.age = 22;
p2.name = "水水";
p2.age = 23;
System.out.println(p1.print());
System.out.println(p2.print());
}
}

====================code end================
代码是一个static知识点的例题
通过set方法设定全局变量已经ok,但是我希望在set方法中加入一个验证
验证“国籍”这个属性是否为空,如果为空,则显示“未获得”
不过我试了好多方法貌似实现不了,求大师指教!谢谢!
展开
 我来答
育知同创教育
2018-07-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
方法一:
先把int类型的数据转换成String类型,然后判断String类型的数据是否为空。
示例代码:
int point;
String val=point +"";
if("".equals(val)){
// do something...
}
PS:int point不是对象,int类型为空时默认为0。

方法二:
如果point是int类型,则得到的结果是不可能是null的。
如果插入一条数据时没有插入给字段,而数据库里默认是null的值的话,可以使用
Integer point= GiftInfo.getPoints();
然后判断point是否等于空。
示例代码:
Integer point= GiftInfo.getPoints();
if(point == null){
// do something...
}
PS:GiftInfo.getPoints返回的是Integer类型,Integer类型是包括基本类型的包装类,不给赋值的时候为null。
千锋教育
2015-12-01 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
java中判断String变量是否为空可以使用双等号(变量==null)来判断,当变量为空的话,返回 true,否则返回false。
事例代码如下:
public class Demo{
public static void main(String[] args) {
String str1 = "123";
String str2 = "";
String str3 = null;
System.out.println(str1 == null);
System.out.println(str2 == null);
System.out.println(str3 == null);
}
}
这里要注意的是没有内容的字符串("")不等同于null。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白菜一颗
2015-01-04 · TA获得超过8916个赞
知道大有可为答主
回答量:3260
采纳率:69%
帮助的人:3739万
展开全部
if(c == null || "".equals(c)) {
  c = "未获得";
} else {
  nationality = c ;
}

set方法换成这个试试

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a65c9b
推荐于2017-09-26 · TA获得超过551个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:247万
展开全部
if(null == c || "".equals(c.trim())){
c = "未获得";
}
追问
我把你们都带沟里了。。If判断为空之后竟然是给c赋值“未获得”。。应该是:
如果c无值,则国籍为“未获得”,否则将c赋值给国籍,为什么会发生这样的事情呢,因为我最初不会Nationality这个单词,用的是code代替,后来来百度提问为了装逼,有道了一下“国籍”的单词。。 - -!谢谢各位,不过我还是采纳“BD568591377”的,因为从他的答案我额外学到一个trim(),谢谢!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
2015-01-04 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
c == null
"".trim().equals(c)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式