博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 7的几个新特征
阅读量:6836 次
发布时间:2019-06-26

本文共 1836 字,大约阅读时间需要 6 分钟。

泰山不拒细壤,故能成其高;江海不择细流,故能就其深。

——《秦·李斯 
谏逐客令》


在昨天的
JavaOne
专题讲座“
JDK 7
中的小改变”中,
Sun
的资深软件工程师尤瑟夫提议
Java 7
的新特征应该面向“程序员友好”(
Programmer-friendly
),并且应该集中在对
Java
语言的小改变上。其中在整数变量中允许使用二进制值以及
switch
语句允许使用字符串作为表达式的值,就是他提议的两个改变。
在整数型变量,如
byte
short
int
以及
long
中合法使用二进制值,使得在这个领域中的编程提供了方便。如:
byte mask = b0011;       //
或者
0b0011
,十进制值为
3
为了增强可读性,允许使用下划线,而且允许在十进制值中使用下划线。如:
int intMask = 0b1100_0011;                //
在二进制值中使用下划线
long longMask = 
9_223_372_036_854_775_807L;   //
在十进制值中使用下划线

尤瑟夫提议的在
Java 7
中第二个小改变是
switch
语句中允许使用字符串作为其表达式的值。在目前使用的所有
Java
版本中,
 switch
语句的语法格式为:
switch (integralExpression) {
       case integralValue_1 : statements;
                                     break;
       case integralValue_2 : statements;
                                     break;
       …
       default:                   statements;  //
可选项
}
其表达式
integralExpression
的值规定为除
long
之外的整数以及字符,但不允许是字符串。
尤瑟夫对
switch
语句的小改进并没有改变这个语句的语法,只是将字符串也作为
switch
的合法表达式和值。如:
String s = someDefinedString;
switch (s) {
       case “foo” : return 1;
       case “bar” : return 2;
}
这种改变的确是小,但给编程带来了方便。这也符合对
integral expression
的定义,即字符串也是一种代码确定的整数值。
由于可以对
Character
Byte
Short
Integer
对象做自动卸箱
(auto-unboxing)
,所以期待中的
Java 7
将对
switch
语句做出如下新定义:
switch
语句中表达式的值可以是
char
byte
short
int
Character
Byte
Short
Integer
String
enum
类型;否则将产生编译错误。
如下是新
switch
语句的更多应用例子:
1
.利用字符串作为
switch
语句的选项值,调用
menu
对象的不同方法。
String menu = myMenu.getMenu(); //getMenu
返回用户选择的菜单
switch (menu) {
    case “open”:    myMenu.openFile();  //
调用对象
menu
的方法
                    break;
    case “save”:    myMenu.saveFile();
                    break;
    case “exit”:    myMenu.exit();
                    break;
    default:    System.out.println("
菜单选项错误
");
    }
2
.利用字符串作为
switch
的选项确定字符串变量
day
的值是否是工作日或者周末休息日。
switch(dayOfWeek) {
     //dayOfWeek
为定义了的字符串
    case “
1
到周五
”    :   day = "
工作日
";
    case “
周六到星期天
”   :   day = "
周末休息
"
}
完整程序例子和尤瑟夫提议的其他对
Java 7
的小改变,见即将由清华大学出版社出版的《
Java
编程艺术》配套资源下载网页。
据尤瑟夫和其他
Java 7
领衔工程师透露,
Java 7
将在今年年底或明年年初正式发表。
本文转自高永强51CTO博客,原文链接:
http://blog.51cto.com/yqgao/163115
 ,如需转载请自行联系原作者
你可能感兴趣的文章
你不可不知的家庭装修禁忌
查看>>
关于i++和++i
查看>>
如何处理win10系统内置Linux系统闪退问题
查看>>
在Ubuntu上通过命令行安装Elisa KDE音乐播放器
查看>>
CentOS下命令行和桌面模式的切换方法
查看>>
linux下socket编程
查看>>
android中解压文件
查看>>
如何进行大数据分析及处理?
查看>>
runtime运行时编程一些相关知识
查看>>
转基因和基因突变
查看>>
git 使用经验
查看>>
shell脚本参数"$10"问题
查看>>
GSM协议编号及其内容
查看>>
mac下的抓包工具Charles
查看>>
iOS 四种保存数据的方式!
查看>>
innodb和myisam
查看>>
内存数据库服务运营之路
查看>>
UIBubbleTableView
查看>>
UIMenuController的使用,对UILabel拷贝以及定制菜单
查看>>
docker配置国内镜像源
查看>>