成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java11已發(fā)布,String還能這樣玩!

開發(fā) 后端
在文章《Java 11 正式發(fā)布,這 8 個逆天新特性教你寫出更牛逼的代碼》中,我有介紹到 Java 11 的八個新特性,其中關(guān)于 String 加強(qiáng)部分,我覺得有點(diǎn)意思,這里單獨(dú)再拉出來講。

 [[252241]]

在文章《Java 11 正式發(fā)布,這 8 個逆天新特性教你寫出更牛逼的代碼》中,我有介紹到 Java 11 的八個新特性,其中關(guān)于 String 加強(qiáng)部分,我覺得有點(diǎn)意思,這里單獨(dú)再拉出來講。

Java 11 增加了一系列的字符串處理方法,如以下所示。 

  1. // 判斷字符串是否為空白  
  2. " ".isBlank();                // true  
  3. // 去除首尾空格  
  4. " Javastack ".strip();          // "Javastack"  
  5. // 去除尾部空格   
  6. " Javastack ".stripTrailing();  // " Javastack"  
  7. // 去除首部空格   
  8. " Javastack ".stripLeading();   // "Javastack "  
  9. // 復(fù)制字符串  
  10. "Java".repeat(3);             // "JavaJavaJava"  
  11. // 行數(shù)統(tǒng)計  
  12. "A\nB\nC".lines().count();    // 3 

最有意思的是 repeat 和 lines 方法了,來看下還能怎么玩!

repeat

repeat 方法的作用就是重復(fù)一個字符串 N 遍,可以用來代替工具類:org.apache.commons.lang3.StringUtils#repeat(java.lang.String, int),來看下 repeat 的源碼。 

  1. public String repeat(int count) {  
  2.     if (count < 0) {  
  3.         throw new IllegalArgumentException("count is negative: " + count);  
  4.     }  
  5.     if (count == 1) {  
  6.         return this;  
  7.     }  
  8.     final int len = value.length;  
  9.     if (len == 0 || count == 0) {  
  10.         return "";  
  11.     }  
  12.     if (len == 1) {  
  13.         final byte[] single = new byte[count];  
  14.         Arrays.fill(single, value[0]);  
  15.         return new String(single, coder);  
  16.     }  
  17.     if (Integer.MAX_VALUE / count < len) {  
  18.         throw new OutOfMemoryError("Repeating " + len + " bytes String " + count +  
  19.                 " times will produce a String exceeding maximum size.");  
  20.     }  
  21.     final int limit = len * count;  
  22.     final byte[] multiple = new byte[limit];  
  23.     System.arraycopy(value, 0, multiple, 0, len);  
  24.     int copied = len 
  25.     for (; copied < limit - copied; copied <<= 1) {  
  26.         System.arraycopy(multiple, 0, multiple, copied, copied);  
  27.     }  
  28.     System.arraycopy(multiple, 0, multiple, copied, limit - copied);  
  29.     return new String(multiple, coder);  

來看下更多的用法。 

  1. String str = "Java" 
  2. // 小于0:java.lang.IllegalArgumentException  
  3. System.out.println(str.repeat(-2));  
  4. // 等于0:空白串("")  
  5. System.out.println(str.repeat(0));  
  6. // JavaJavaJava  
  7. System.out.println(str.repeat(3));  
  8. // java.lang.OutOfMemoryError  
  9. System.out.println(str.repeat(Integer.MAX_VALUE)); 

所以說 repeat 并不是可以***增長的,有使用限制的,達(dá)到一定量就會報內(nèi)存溢出異常。

lines 

  1. public Stream<String> lines() {  
  2.     return isLatin1() ? StringLatin1.lines(value)  
  3.                       : StringUTF16.lines(value);  

lines 方法返回一個字符串 Stream, 可以識別 \n 和 \r 換行符換行。 

  1. // 4  
  2. System.out.println("A\nB\nC\rD".lines().count()); 

是不是很好?在將來肯定有武之地!如批量讀取文件內(nèi)容到一個 Stream 中,就能很好的識別行結(jié)束符了。

責(zé)任編輯:龐桂玉 來源: Java技術(shù)棧
相關(guān)推薦

2020-11-16 13:38:31

PostMessage

2021-07-28 06:10:47

拖拽設(shè)計器 transmat

2021-09-05 07:55:37

前端Emoji 表情

2024-08-02 08:38:20

Controller接口地址

2024-12-03 09:45:34

2021-04-09 08:23:30

Css前端加載動畫

2024-01-30 09:21:29

CSS文字效果文字裝飾

2023-02-26 00:00:02

字符串分割String

2020-05-22 10:00:08

數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計軟件設(shè)計

2021-01-30 07:51:59

微信微信8.0騰訊

2023-01-30 08:46:20

GoGo1兼容性

2022-10-31 08:47:21

人臉識別按鍵鍵盤

2021-10-29 07:49:22

Spring事務(wù)管理

2019-11-08 10:48:07

Windows操作系統(tǒng)微信Windows 10

2016-09-23 15:36:53

Windows10開始菜單程序

2020-05-09 16:45:56

ping命令Linux

2009-06-11 10:47:16

Fedora 11Fedora 11下載Fedora

2012-07-13 11:32:16

網(wǎng)絡(luò)出口

2020-09-14 11:26:54

BinlogCanal數(shù)據(jù)庫

2022-02-09 15:55:01

JavaHttpClientJAVA11
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 玖玖操 | 天天插天天操 | 国内精品一区二区三区 | 欧美综合国产精品久久丁香 | 久久久久久国产免费视网址 | 国产精品午夜电影 | 亚洲一区视频在线 | 久久久一区二区三区四区 | 成人一区二区三区在线 | 国产一级视频在线观看 | 在线午夜 | 日韩欧美在线不卡 | 久久在线看 | 亚洲一区二区三 | 亚洲iv一区二区三区 | 一本色道精品久久一区二区三区 | 婷婷91| 亚洲欧美日韩国产综合 | a国产视频| 一级黄片一级毛片 | 久久精品超碰 | 久久久成人免费视频 | 久久久91精品国产一区二区三区 | 99久久婷婷国产亚洲终合精品 | 99精品网| 欧美在线a| 欧美一区二区三区在线看 | 日韩图区 | 精品一区国产 | 99九九视频| 日韩1区 | 色综合久久天天综合网 | 日本粉嫩一区二区三区视频 | 久草成人 | 一二三四在线视频观看社区 | 九九热这里只有精品6 | 久久久九九九九 | 波多野结衣中文字幕一区二区三区 | 久久新视频 | 亚洲 精品 综合 精品 自拍 | 福利久久 |