首页 > 试题广场 >

以下代码使用Java的String API(Java 11+

[单选题]
以下代码使用Java的String API(Java 11+),输出结果是什么?
String text = "  Hello  World  ";
String result = text.strip().lines()
.map(String::strip)
.collect(Collectors.joining("-"));
System.out.println(result);
  • Hello-World
  • Hello  World
  • Hello--World
  • Hello World
1.strip()作用是去掉字符串首尾的空白字符
跟trim()类似,但strip()更强:
  trim()  → 只去ASCII空白(空格)
  strip() → 去所有Unicode空白(空格、制表符、全角空格等)

2.line()作用是按换行符拆分字符串,返回一个流(Stream)
每一行变成流中的一个元素
"Hello World"没有换行符 → 流中只有一个元素:"Hello World"

3.map(String::strip) 就是把每个元素都strip一下
对流中的每个元素做同一个操作
比如流里有 [a, b, c]
→ [a.strip(), b.strip(), c.strip()]

4.:: 是方法引用的写法,就是"调用这个方法"的简写

5..collect(Collectors.joining("-"))
作用是把流中的元素收集起来,用"-"连接成一个字符串
Stream of ["Hello", "World", "Java"]
.joining("-")  →  "Hello-World-Java"
joining()里没参数 → 直接连,不分隔
joining(",") → 用逗号连接
joining("-") → 用横线连接

编辑于 今天 20:49:04 回复(0)