首页 > 移动平台 > 详细

android switch不能使用参数String,View等类的解决方法

时间:2015-04-03 00:06:06      阅读:2579      评论:0      收藏:0      [点我收藏+]

基于方法:Object.hashCode();

 

hashCode()的原理:

hash值本身是一个散列码,简而言之就是每个Object都对应了一个hash值(int),所以hashcode的作用及时全局唯一标示;

 

在同一运行环境下,hashcode值是唯一的,这样就可以区分在类实例在物理上不是一样的对象

但是,例如

String obj_a="aaa";

String obj_b="aaa";

obj_a,obj_b是一样的,原因是java的字符串池优化的原因,每声明一个字符串,JVM就会先查找“字符串池”,看是否有相同的字符串,如果有将已有的对象引用返回,而不是新生成一个String对象,同理

String obj_a = new String("bbb");

String obj_b = new String("bbb");

也是同一个hashcode,总的来说equals相同的话,hashcode就应该相同

 

所以使用

switch(Object.hashcode());

就行了

android switch不能使用参数String,View等类的解决方法

原文:http://www.cnblogs.com/qvbrgw/p/4388633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!