Java 为何迟迟不支持多行字符串?

2018-04-10 08:06:29 +08:00
 Cbdy

有什么预处理的库,类似 JavaScript 的 Babel 达到这个效果不?

11624 次点击
所在节点    程序员
25 条回复
johnniang
2018-04-10 08:08:55 +08:00
有什么特殊的需求么
MoHen9
2018-04-10 08:10:53 +08:00
你可以使用 groovy 来做这件事,对于简单的业务,就把 groovy 当 Java 使用就行。
bumz
2018-04-10 08:34:07 +08:00
对于少量字符串,多行用

"aaa\n" +
"bbb"

就行;

对于大量字符串,你确定你一定要把它放到代码里吗?
这样只要一修改字符串,就要重新编译代码。
jorneyr
2018-04-10 08:37:59 +08:00
如果能支持字符串解析变量的功能就更好了,如 "Hello ${username}"
tomoya92
2018-04-10 08:43:48 +08:00
@jorneyr kotlin 不是支持吗
wxyz
2018-04-10 08:45:49 +08:00
@jorneyr 不是有模版吗
murmur
2018-04-10 08:52:32 +08:00
java 如果需要的话就上模板了
哪里有那么多多行字符串需要拼
sql 写在 xml 里了
watzds
2018-04-10 09:44:41 +08:00
多行写好,复制粘贴到 idea 字符串里,会给你换行拼接好
zhuangzhuang1988
2018-04-10 09:48:33 +08:00
Scala 上。
fox0001
2018-04-10 10:00:11 +08:00
@murmur #7 最佳实践
yzmm
2018-04-10 10:32:51 +08:00
估计是觉得有 StringBuilder 自己拼去,不支持也是正常的。
we2ex
2018-04-10 10:50:02 +08:00
不仅如此,Java 还没有:
- raw string
- default parameters
- true named Arguments
- getter/setter shorthand
- String interpolation
wintercoder
2018-04-10 12:45:15 +08:00
@jorneyr #4 哈哈 最好的语言 PHP 支持
xomix
2018-04-10 13:11:16 +08:00
- getter/setter shorthand
这个比多行字符串需求高多了,多行字符串用 stringbuilder 也很好用。
dobelee
2018-04-10 13:13:24 +08:00
php 是世界上最好的语言。 🐒
xiaxiaocao
2018-04-10 13:13:56 +08:00
Java 前几年发展比较慢,现在开始慢慢增加了。
现在有 Project Amber,刚 Java10 里加入了 var 来做类型推导,多行字符串已经有 JEP 了,http://openjdk.java.net/jeps/326。
除此之外,还有 Record(Data Class,省去 getter/setter/toString/equals),Pattern Match 在做,将来也会有 named parameter 和 default parameter。
当然,这都还需要时间。
baicai0817
2018-04-10 13:53:16 +08:00
怎么写啊, let str = 'my name is ${name}' ;;
Cbdy
2018-04-10 15:11:58 +08:00
@xiaxiaocao default parameter 应该不会有了吧,Java 已经有重载了😳
xiaxiaocao
2018-04-10 15:37:48 +08:00
@Cbdy 看邮件组里的讨论,应该会有的,只不过目前人手不够排不上来。一个想法是对于有 default parameter/named parameter 的方法施加限制,比如不能重载,必须是 static 的活着 final 的。
lastpass
2018-04-10 15:57:02 +08:00
不支持多行字符串这个我吐槽 N 次了。一直没有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/445522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX