Android中有趣而又经常犯错的小知识点,那些总能扬嘴一笑的小错误---吴明辉

开发过程中常会遇到一些简单的错误,每当回头去修改时都不禁扬嘴一笑。我希望这篇文章能一起见证自己的成长,把开发过程中有趣小错误都一一记下来,把快乐和大家一一分享。

问题一:(栗子:获取当前星期)

  1. "R.string.xx"获取String中的数据常被误以为返回的是String类型;
  2. "equals()""="的使用经常容易混淆;

举个栗子:

    /**
	 * 获取当前星期,add by 吴明辉
	 * 
	 * @return
	 */
	public static String getWeek(Context context) {
		final Calendar c = Calendar.getInstance();
		c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
		mWay = String.valueOf(c.get(Calendar.DAY_OF_WEEK));
		if ("2".equals(mWay)) {
			mWay = context.getString(R.string.monday);
		} else if ("3".equals(mWay)) {
			mWay = context.getString(R.string.tuesday);
		} else if ("4".equals(mWay)) {
			mWay = context.getString(R.string.wednesday);
		} else if ("5".equals(mWay)) {
			mWay = context.getString(R.string.thursday);
		} else if ("6".equals(mWay)) {
			mWay = context.getString(R.string.friday);
		} else if ("7".equals(mWay)) {
			mWay = context.getString(R.string.saturday);
		} else if ("1".equals(mWay)) {
			mWay = context.getString(R.string.sunday);
		}
		return mWay;
	}
     <!-- 星期 -->
    <string name="monday">星期一</string>
    <string name="tuesday">星期二</string>
    <string name="wednesday">星期三</string>
    <string name="thursday">星期四</string>
    <string name="friday">星期五</string>
    <string name="saturday">星期六</string>
    <string name="sunday">星期天</string>

在以上代码中我们常常会习惯性的把mWay = context.getString(R.string.monday)换成mWay = R.string.monday返回的数据可就不一样了,当然大神可能不会,但小菜确实是被误导过。

罪魁祸首:xx.setText(R.string.xx)和xx.setText("String类型");

解决:this.getString(R.string.xx);

"equals()""="也好玩了,把上面代码mWay = context.getString(R.string.monday)中的"="换成"equals()"返回的可不是你想要的星期一了。

原因:"="是获取context.getString(R.string.monday)的对象,而"equals()"则是context.getString(R.string.monday)的值。

解决:记住"equals()"是比较值,而"="是比较对象。

END 

编辑:吴明辉

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉念聿辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值