jdk7的新特性-分隔符

前言:
小刘写个一亿位的数呀,这正常来说是要写九位的,但是为了可读性我们可以加上_来提高代码的可读性

一、二进制字面量标识
整数类型如(byte,short,int,long)都可以用二进制来表示。表示方法通过在二进制数的前面加入0b或者0B来标示

byte  num1 = 0b00001001;  // 1个字节8位
short num2 = 0b0010000101000101;  // 2个字节16位
int   num3 = 0b10100001010001011010000101000101;  // 4个字节32位
long  num4 = 0b0010000101000101101000010100010110100001010001011010000101000101L; 
 // 8个字节64位

二、数字类型支持间隔符
使用下划线(_)将数字分组,以更友好的表达方式提高可读性。 下划线不允许出现在 开头和结尾、0b和0x左右、小数点前后、L和F标识符前。

/**
 * 示例
 */
long number = 1234_5678_9012_3456L;
float price =  3.14_15F;
long hexnum = 0xFF_EC_DE_5E;
long bytes  = 0b11010010_01101001_10010100_10010010;
 
/**
 * 规则
 */
float f1 = 5_.5F;         // 无效 (不能在小数点前后)
float f2 = 5.2_F;         // 无效 (不能在标识符前)
int x1 = _52;             // 无效 (不能在开头)
int x2 = 52_;             // 无效 (不能在结尾)
int x3 = 5_2;             // 有效
int x4 = 5_______2;       // 有效 
int x5 = 0_x52;           // 无效 (0x不能拆分)
int x6 = 0x_52;           // 无效 (不能在0x左右)
int x7 = 0x5_2;           // 有效
int x8 = 0x52_;           // 无效 (不能在结尾)
int x9 = 0_52;            // 有效 (八进制)
int x10 = 05_2;           // 有效 (八进制)
int x11 = 052_;           // 无效 (不能在结尾)

三、Switch支持String类型
在switch的参数中,除了支持byte、short、char、int、long以及包装类之外,也开始支持将String作为参数

switch (sw) {
case "N1":
	System.out.println("第一季度");
	break;
case "N2":
	System.out.println("第二季度");
	break;
case "N3":
	System.out.println("第三季度");
	break;
case "N4":
	System.out.println("第四季度");
	break;
default:
	System.out.println("未知");
	break;
}

四、泛型类型实例化类型推断
从上下文推断出参数类型,所以可以用一组空类型参数(<>)替换泛型类构造函数的调用所需的类型参数

/**
 * Jdk 1.7 之前
 */
Map<String, List<String>> oldMap = new HashMap<String, List<String>>();
/**
 * Jdk 1.7 之后
 */
Map<String, List<String>> newMap = new HashMap<>();

参考博客
参考文章

总结: 这在代码中还是多注意下代码的规范和可读性,让我们写出优雅的代码,respect!

加油!打工人
干饭!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_55604133/article/details/120519672