switch (0) {
case 0:
Log.e("Switch", "false");
return false; default:
Log.e("Switch", "true");
return true;
}返回是false
---------------------------------------------------
如果代码是switch (0) {
case 0:
//Log.e("Switch", "false");
return false; default:
//Log.e("Switch", "true");
return true;
}返回是true,求解释。
case 0:
Log.e("Switch", "false");
return false; default:
Log.e("Switch", "true");
return true;
}返回是false
---------------------------------------------------
如果代码是switch (0) {
case 0:
//Log.e("Switch", "false");
return false; default:
//Log.e("Switch", "true");
return true;
}返回是true,求解释。
解决方案 »
- Android系统MulticastSocket编程的问题
- dbHelper.getWritableDatabase() NullPointerExcepion问题。
- 安卓程序导入时出现错误:Project has no project.properties file! Edit the project properties
- android代码又错了,求救!!!
- andorid的C++代码文件,都加个namespace android {有什么作用?
- 如何连接网络
- [武汉]下周就要比赛了,产品的服务器与数据库也开发的差不多了,可是就是找不到一个做客户端开发的。。。
- 安卓4.2.2 调节音量的函数如何换成自己的代码(内详细)
- android 动画问题,在线等!
- Service com.android.exchange.ExchangeService has leaked ServiceConnection
- android NFC 请问怎么读写NfcA标签?
- TextView代码实现走马灯效果出问题
但是你的switch有点问题啊
在每个case后面应该有break吧
楼主应该先了解了解 switch 的用法,就知道一点都不诡异拉!
break很重要哦
感觉都是return false;
怎么回事?
还有 switch最好别放return
最好boolean一个局部变量,在case里修改这个局部变量的值。
最后在return这个局部变量。很多公司都有要求的,一个方法只能有一个return。
学习了,有时候虽然很方便,但是如果多个return 的时候 对于后期的维护 可能会带来麻烦。一进一出 学习了!
2.如果你switch(0)的0其实是变量,而你简化而已,就是你自己算法真实运作跟你的想法有不同, 很多情况我们都为了不可能的大意调试大半天,逐步断点跟踪解决;
3.如为变量,内存溢出覆盖了这些区域,这个情况是其它地方内存溢出修改了
你说的第2点0是确实是变量,断点我跟踪了值是0,结果走default,我很难理解。还有switch所在方法我设置成是static。
return了还要break干嘛?
这个说明你项目中的代码有问题,你再认真找找,比如是不是在某种条件下才return,而其他条件没return又没break呢?
如果这个变量是函数内的局部变量,则你说的情况绝不会发生。如果这个变量是静态的。那原因就是没有对这个变量进行保护,被别的线程改写了。你可以新建一个函数内局部变量来存放一下这个值,调试一下看看,是不是还是这样
如:
int oLocal=o;//复制一份静态变量到局部空间
oLocal=oLocal;//在这儿打个断点,看一下这个值,希望不会被优化掉,呵呵。
switch(oLocal)
......