为什么我使用if-else等于不工作?

时间:2014-03-31 15:07:43

标签: java android if-statement

为什么setText()显示" N / A"当Info2 =""?为什么在Info2有数据时显示数据但Info2没有数据时我的setText()调用显示空白,而不是" N / A"?

JSON CODE >> {"AirlineInfoResult":{"name":"Malaysian Airlines System","shortname":""}}

String Info2 = ... do something util receive result from shortname

if(Info2.equals("")) {
    shortname.setText("N/A");
}
else if(!Info2.equals("")) {
    shortname.setText(Info2);
}

2 个答案:

答案 0 :(得分:1)

shortname.setText((Info2 == null) || Info2.isEmpty()) ? "N/A" : Info2);

,或者

shortname.setText("".equals(Info2) ? "N/A" : Info2);

答案 1 :(得分:0)

只是做:

if(Info2.equals(""))
{
    shortname.setText("N/A");
}
else
{
    shortname.setText(Info2);
}

默认情况下,如果条件为false,则运行else。另外请记住,如果Info2可以为null,那么您应该添加:

if("".equals(Info2))
{
    shortname.setText("N/A");
}
else
{
    shortname.setText(Info2);
}

短语“”.equals(Info2)称为yoda表达式,如果Info2为null,则返回false。