【Groovy】字符串 ( 字符串注入函数 | asBoolean | execute | minus )
【摘要】
文章目录
一、字符串注入函数1、字符串转布尔值 asBoolean 函数2、执行字符串对应命令 execute 函数3、字符串减法 minus 函数
二、完整代码示例
一...
一、字符串注入函数
Groovy 为 字符串 类 , 注入了一系列的方法 , 下面介绍几个重要的注入方法 ; 为 Groovy 字符串扩展的函数 , 都定义在
public class StringGroovyMethods extends DefaultGroovyMethodsSupport
- 1
类中 ;
1、字符串转布尔值 asBoolean 函数
将字符串转为布尔值函数 :
- 字符串长度为 0 , 则返回 false ;
- 字符串长度大于 0 , 返回 true ;
"".asBoolean();
- 1
注入的 asBoolean 函数 :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/**
* 将字符串(CharSequence的实例)强制为布尔值。
* 如果字符串的长度为0,则该字符串强制为false,
* 反之亦然。
*
* @param 字符串指定字符序列
* @返回布尔值
* @从1.7开始。0
*/
public static boolean asBoolean(CharSequence string) {
return string.length() > 0;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
执行如下代码 :
class Test {
static void main(args) {
println "".asBoolean();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
执行结果 :
false
- 1
2、执行字符串对应命令 execute 函数
调用字符串的 execute() 方法 , 可以执行该 字符串命令 , 前提是该字符串必须是系统命令 , 不能是任意字符串 ;
注入 execute() 函数 :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/**
* 将<code>self</code>指定的命令作为命令行进程执行。
* <p>对于过程构造的更多控制,您可以使用
* <code>java。lang.ProcessBuilder</code>。
*
* @param self 命令行字符串
* @返回此命令行表示刚刚启动的进程
* @在发生IOException时抛出IOException。
* @自1.0以来
*/
public static Process execute(final String self) throws IOException {
return Runtime.getRuntime().exec(self);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
执行如下代码 :
class Test {
static void main(args) {
println "cmd /c groovy -v".execute().text
}
}
- 1
- 2
- 3
- 4
- 5
- 6
执行结果 :
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10
- 1
3、字符串减法 minus 函数
两个字符串之间进行减法操作 , 相当于从大的字符串中 , 删除被减去的小的字符串 ;
注入 minus() 函数 :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/**
* 移除字符串的一部分。这将替换第一个事件
* 目标。将self中的toString()与“”匹配,并返回结果。
*
* @param self 字符串
* @param target 表示要移除的零件的对象
* @返回一个字符串减去要删除的部分
* @自1.0以来
*/
public static String minus(String self, Object target) {
String text = DefaultGroovyMethods.toString(target);
int index = self.indexOf(text);
if (index == -1) return self;
int end = index + text.length();
if (self.length() > end) {
return self.substring(0, index) + self.substring(end);
}
return self.substring(0, index);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
代码示例 :
class Test {
static void main(args) {
println "HelloWorld" - "World"
}
}
- 1
- 2
- 3
- 4
- 5
执行结果 :
Hello
- 1
二、完整代码示例
完整代码示例 :
class Test {
static void main(args) {
println "".asBoolean();
println "cmd /c groovy -v".execute().text
println "HelloWorld" - "World"
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
执行结果 :
false
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10
Hello
- 1
- 2
- 3
- 4
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/122040564
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)