Java-switch表达式中巧用String类型达到分支目的
来源:互联网 发布:在淘宝网上买手机可靠吗 编辑:程序博客网 时间:2024/04/19 15:29
众所周知,使用Java语言,switch语句中的表达式必须是整形或者字符型,字符串用来分支,只能使用投机取巧的方式了。
第一个关键,使用String的hasCode取得字符串的哈希码,哈希码的算法如下:
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
因而两个不同字符串,其哈希码几乎不同(可能会相同,需要深究的话自己研究吧,呵呵 ),
hasCode返回一个int型值,OK,我们就用这个来做case后的常量值。
第二个关键,这个hasCode不能直接拿来用,只能事先手动取得字符串的哈希码,申明一个final型的int变量,拿这个来case。
这样一来,你的switch后面的表达式就可以用XXX.hasCode,case里面用上事先定义好的常量值了。
是不是有点麻烦啊,没办法,只能转个弯子来实现了。
- Java-switch表达式中巧用String类型达到分支目的
- java中的switch里面表达式的类型可以是string类型
- JAVA switch 支持string 表达式的原理
- Java switch支持String类型分析
- 在java switch中使用String作为分支条件
- 在java switch中使用String作为分支条件
- 在java switch中使用String作为分支条件
- Java switch中使用string作为分支条件
- Java switch中使用string作为分支条件
- java的switch表达式支持的类型
- switch表达式类型
- Java分支结构switch语句
- Java的switch分支结构
- 关于java switch中不能使用String类型
- 关于java switch中不能使用String类型
- 关于 Java中switch条件是否能为string类型
- JAVA中switch是否支持String类型参数?
- java基础:java switch(表达式)中表达式的类型都可以是哪些类型?
- SupeSite Rewrite规则 (7.0)
- JSTL格式化库
- 北京旅游攻略
- [转]详叙 Serializable "对象序列化"的用法和原理
- connect by start with详细用法
- Java-switch表达式中巧用String类型达到分支目的
- 注释及文档的故事
- sybase数据库配置经验交流
- vc 枚举磁盘,在磁盘里写文件的操作
- 设计模式概述
- Oracle Pwnage with the Metasploit Oracle Modules
- CFileDialog打开多个文件失败 返回错误 FNERR_BUFFERTOOSMALL
- c#常用函数列表
- 在Winchill 8.0 中加入鏈接的用戶驗證