码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-04-03 00:07:20      阅读:333      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!