前言:
此时我们对“java计算字符串表达式”大约比较重视,各位老铁们都想要学习一些“java计算字符串表达式”的相关文章。那么小编在网络上汇集了一些有关“java计算字符串表达式””的相关资讯,希望朋友们能喜欢,大家快快来了解一下吧!单引号字符串
最简单的字符串,仅仅是java.lang.String。不支持里面插入变量,表达式。
字符串拼接
字符串拼接可以直接使用+号。
三单引号字符串
使用三个单引号来包围字符串,和普通单引号字符串一样,但是可以跨越多行。
如果在开头的时候有一个换行的话,字符串也会多一个换行符,可以使用\连接符,解决这个问题。
Escape特殊字符
在单引号字符串(包括三个单引号字符串)中可以使用\符号开表示一个特殊字符,例如制表符\t,换行符\n。
如果想表示\字符,那就写两个\。
还可以使用\u来表示Unicode字符。
双引号字符串
双引号字符串在没有插入变量的时候,会使用java.lang.String类型,但是在有插入变量的时候会使用groovy.lang;GString。
插入的变量表达式可以是任意的groovy表达式。
使用${}符号,在没有其他歧义的情况下,也可以只使用$。
当然一般还是推荐${},没必要省略而影响可读性。
可以使用任意的groovy表达式
没有歧义的,用点分隔的表达式,可以直接使用$前缀。
双引号字符串里面如果要表示$符号,则需要用\来escape,单引号字符串就没有这个问题。
内嵌Closure闭包
双引号字符串可以内嵌闭包,但是支持没有参数和只有一个参数两种。
如果没有参数,最后表达式的值就是字符串要替换的值。
如果有一个参数,这个参数的类型是java.io.StringWriter,可以使用<<把需要的东西填入这个对象。
内嵌Closure和普通表达式的区别。
使用Closure还有一个类似懒加载的作用,也不能完全说懒加载,应该说会运行时取值。
Closure代表的值在需要取得String值的时候重新计算。
在需要String类型的时候,如果提供GString,则会自动调用GString的toString()方法。
GString和String的hashcode
GString和String在hashcode上会不同,就算是他们toString()之后返回的是相同的字符串。
这导致在Map类型里面,不要使用GString作为key。
三个双引号字符串
这个和单引号一样,变成三个之后,就增加里跨越多行的能力。
斜杠字符串
使用/开头,/结束。
没什么特殊的,可以使用插入表达式,也可以支持多行,就像三个双引号的字符串一样。区别就是\字符不在需要escape了。这个在用于正则表达式的时候,比较好用。
但是要表示/的时候需要使用\escape。
$+斜杠字符串
以$/开始,/$结束。
和/字符串差不多,不过$符号也用于escape字符。
字符串总结表
官网文档里面的总结表,参考一下。
字符类型
groovy里面没有字符类型的表达方式,但是可以通过定义字符类型,强制转换,来生成字符类型的变量。
标签: #java计算字符串表达式