switch if android studio,java – 带有switch case语句的Android Studio 1.1警告

我有一个分支,它将系统星期几整数值替换为人类可读的字符串值.

当我使用如下所示的if-else语句时,Android Studio 1.1不会发出任何警告.

int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

String curStrDayOfWeek = "";

if (intDayOfWeek == 1) {

curStrDayOfWeek = getResources().getString(R.string.sunday);

}

else if(intDayOfWeek == 2) {

curStrDayOfWeek = getResources().getString(R.string.monday);

}

else if(intDayOfWeek == 3) {

curStrDayOfWeek = getResources().getString(R.string.tuesday);

}

[SNIP]

globals = (Globals) this.getApplication();

try {

[SNIP]

globals.hdsr_data.put("currentDayOfWeek", curStrDayOfWeek);

[SNIP]

catch (Exception e) {

System.out.println("Error:" + e);

}

[SNIP]

但是如果我尝试使用如下所示的switch-case语句,它会警告值getResources().从不使用分配给curStrDayOfWeek的getString(R.string.sunday).然后我得到了6个警告,因为值有7个分支.

int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

switch (intDayOfWeek) {

case 1 : curStrDayOfWeek = getResources().getString(R.string.sunday);

case 2 : curStrDayOfWeek = getResources().getString(R.string.monday);

case 3 : curStrDayOfWeek = getResources().getString(R.string.tuesday);

[SNIP]

}

我想在没有警告的情况下编码(除了拼写错误).如何在没有警告的情况下使用switch-case语句?

解决方法:

But if I try to use switch-case statement like the following, it warns the value getResources().getString(R.string.sunday) assigned to curStrDayOfWeek is never used.

这是绝对正确的 – 因为你会立即进入下一个分支.你需要一个休息声明:

switch (intDayOfWeek) {

case 1:

curStrDayOfWeek = getResources().getString(R.string.sunday);

break;

case 2:

curStrDayOfWeek = getResources().getString(R.string.monday);

break;

case 3:

curStrDayOfWeek = getResources().getString(R.string.tuesday);

break;

...

}

就个人而言,我可能只是构建一个数组:

private static final int[] DAY_NAME_RESOURCES = {

0, // not used

R.string.sunday,

R.string.monday,

R.string.tuesday,

...

};

然后使用:

curStrDayOfWeek = getResource().getString(DAY_NAME_RESOURCES[i]);

标签:java,android,android-studio

来源: https://codeday.me/bug/20190528/1170750.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值