Java12版本的新特性

Java12新特性

12版本也是一个过渡版本

  • 支持原生字符串,ts/js等语言早已支持,java再不支持就说不过去了,不过这个语法真的是方便,我预言Java12以后模版引擎将成为过去式。
  • 转译支持
  • 边距处理

原生字符串支持

Java中书写多行字符串和特殊转义字符时非常不方便和不直观,Java 12将会引入原生字符串(Raw String Literals)解决这一问题。

Java 12之前的写法:

String html = "<html>\n" + " <body>\n" + 
" <p>Hello World.</p>\n" + 
" </body>\n" + "</html>\n";

Java 12的写法:

String html = ` <html> <body> <p>Hello World.</p> </body> </html> `;

转义支持(Escapes)

为了原生字符串中使用转义字符,String class中增加了两个方法:

public String unescape() 
public String escape()

以下结果都返回true:

boolean b0 = `\n`.equals("\\n"); boolean b1 = `\n`.unescape().equals("\n"); boolean b2 = `\n`.length == 2; boolean b3 = `\n`.unescape().length == 1;

边距管理(Margin Management)

为了处理多行字符串左边距的问题,String class中增加了两个方法:

public String align() 
public String indent(int n)

align方法用来去掉开头和结尾的空白行,保持每行的相对缩进。

indent方法用来控制每行开头增加或减少几个空格,n为正数时增加,n为负数时减少。

通常会组合两者使用,align().indent(n),所以另外提供了一个组合方法:

public String align(int n)
其他特性见参考:https://openjdk.java.net/projects/jdk/12/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值