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

Java11已發布,String還能這樣玩!

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

 [[252241]]

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

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

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

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

repeat

repeat 方法的作用就是重復一個字符串 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 并不是可以***增長的,有使用限制的,達到一定量就會報內存溢出異常。

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()); 

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

責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2020-11-16 13:38:31

PostMessage

2021-07-28 06:10:47

拖拽設計器 transmat

2021-09-05 07:55:37

前端Emoji 表情

2024-08-02 08:38:20

Controller接口地址

2024-12-03 09:45:34

2024-01-30 09:21:29

CSS文字效果文字裝飾

2021-04-09 08:23:30

Css前端加載動畫

2023-02-26 00:00:02

字符串分割String

2020-05-22 10:00:08

數據庫數據庫設計軟件設計

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事務管理

2019-11-08 10:48:07

Windows操作系統微信Windows 10

2020-05-09 16:45:56

ping命令Linux

2009-06-11 10:47:16

Fedora 11Fedora 11下載Fedora

2016-09-23 15:36:53

Windows10開始菜單程序

2012-07-13 11:32:16

網絡出口

2022-02-09 15:55:01

JavaHttpClientJAVA11

2020-09-14 11:26:54

BinlogCanal數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久 | 日日天天 | 久久综合狠狠综合久久综合88 | 日韩欧美精品 | 中文字幕日韩欧美一区二区三区 | 国产91久久久久 | 欧美日韩国产在线 | 成人精品啪啪欧美成 | 欧美一级免费看 | 日本手机看片 | 在线中文字幕av | 中文字幕日韩欧美一区二区三区 | 中文字幕欧美日韩一区 | 成人午夜免费福利视频 | 国产黄色一级电影 | 久久精品国产久精国产 | 色久影院| 观看av| 国产精品久久久久久久久久 | 亚洲福利在线观看 | 精品综合在线 | 国产成人免费在线 | 成人午夜性成交 | 日日摸夜夜爽人人添av | 99热视| 中文字幕亚洲视频 | 久久精品视频12 | 精品一区二区三区在线观看 | 日韩在线免费 | 美女逼网站| 在线观看深夜视频 | 久久久久久久久久影视 | 中文字幕一区二区三区四区五区 | 青青久久 | 五月婷婷丁香 | 国产精品亚洲精品 | 国产高清视频在线 | 欧美一区二区三区一在线观看 | 一区二区免费高清视频 | 99精品99 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 |