java7 语法糖 之 switch 声明string
Jdk7新switch 恒语句可以string种类。
例如:
@Test
public void test_1(){
String string = "hello";
switch (string) {
case "hello":
System.out.println(string);
break; default:
throw new IllegalArgumentException("非法參数");
}
}
语法糖的背后,其有用的对待string 类型时候,用的是hashCode() 方法转换的.
所以string 类型不能为 NULL.
比如:
@Test
public void test_3(){
String string = null;
expectedException.expect(NullPointerException.class);
switch (string) {
case "hello":
System.out.println(string);
break; default:
throw new IllegalArgumentException("非法參数");
}
}
会抛出异常
NullPointerException
版权声明:本文博主原创文章,博客,未经同意不得转载[http://blog.csdn.net/doctor_who2004]。
java7 语法糖 之 switch 声明string的更多相关文章
- JDK语法糖之switch字串与枚举支持
在JDK1.7之前,switch只支持byte,short,char,int,注意1.5之后的自动拆箱,对应的这四种基础类型的封装类也同样支持Byte,Short,Character,Integer, ...
- Java语法糖详解
语法糖 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更 ...
- 【Java基础】Java中的语法糖
目录 Java中的语法糖 switch对String和枚举类的支持 对泛型的支持 包装类型的自动装箱和拆箱 变长方法参数 枚举 内部类 条件编译 断言 数值字面量 for-each try-with- ...
- 关于C#7 新语法糖
C#7新语法糖 1.Switch 使用 goto 使用 ; switch (kk) { : Console.WriteLine(); ; : Console.WriteLine(); ; : Con ...
- golang 赋值与声明语法糖使用注意事项
赋值与声明语法糖 基本用法略, 搜索即可 注意事项 类型推断 := 会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换 // i1 默认是 int 类型 i1 := 1 // 当需 ...
- JVM(二):Java中的语法糖
JVM(二):Java中的语法糖 上文讲到在语义分析中会对Java中的语法糖进行解糖操作,因此本文就主要讲述一下Java中有哪些语法糖,每个语法糖在解糖过后的原始代码,以及这些语法糖背后的逻辑. 语法 ...
- 语法糖(Syntactic sugar)
语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编程)创造的一个词语,它意指那些没有给计算机语言添 ...
- Java 语法糖详解
语法糖 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法. 这种语法对语言的功能并没有影响,但是 ...
- Java7语法新特性
Java7语法新特性: 1. switch中增加对String类型的支持. public String generate(String name, String gender) { String ti ...
随机推荐
- ZOJ 3734 LIKE vs CANDLE
题目意思:(13年长沙站的一道水DP,本人也去了,当时太水笔) 说俩个人竞争选票,每个人可以随机选择支持谁.每个人带有权重不同. 现在已经结束了投票阶段,你一个骇客 支持LIKE 你写了一个软件可以 ...
- C# WinForm多线程(二)ThreadPool 与 Timer
本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer 一 ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个 ...
- BP神经网络的基本原理
2.1 BP神经网络基本原理 BP网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点.经过非线形变换,产生输出信号Yk,网络训练的每一个样本包含输入向量X和期望输出量t,网 ...
- Java equals的一个坑
public class StringEqualsObject { public static void main(String[] args) { String name="Tom&quo ...
- 全新E:网站不是之前排名浮动 相比于竞争对手究竟缺少了什么?
这几天有非常多朋友问新辰,为什么站点排名掉了?为什么被人家逆袭反超了?当然,这无疑与你站点的内容.外链和用户体验有非常大关系,只是.新辰在此觉得,还须要多研究一下竞争对手的站点,做到:人无我有.人有我 ...
- jquery ui 笔记
准备: 1.下载jquery ui库:http://jqueryui.com/download/ 2.选择theme 3.建立一个良好的发展环境(mysql.netbeans) 4.创建数据库:jqu ...
- Notification和Activity交互
概述 通知(Notification)就是程序在不影响用户操作的情况下,通过手机顶部弹出消息告诉用户的一种信息通知方式,而且能够通过下拉通知操作抽屉通知,实现Notification与活动.通知和服务 ...
- zabbix 实现curl 显示器
1.进入Configure->Templates 2. 新建一个模板 3.新建模板,并保存 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFpND ...
- 一切从编辑器说起:web前端代码编辑器
俗话说:工欲善其事,必先利其器. 工欲善其事必先利其器.谓工匠想要使他的工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要. 前端写代码也是一样,需要一个好的适合自己的代码编辑器. 我想 ...
- 【转】tomcat 访问软连接文件夹下的网页出现404错误,description The requested resource (/xxx.html) is not available.
在 tomcat/webapps/ROOT/ 下建立一个软连接文件ln -s /home/ubuntu/report report 再到report软连接目录里建立个 report.html通过浏 ...