前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】字符串 ( 字符串注入函数 | asBoolean | execute | minus )

【Groovy】字符串 ( 字符串注入函数 | asBoolean | execute | minus )

作者头像
韩曙亮
发布2023-03-30 09:42:32
5750
发布2023-03-30 09:42:32
举报

文章目录

一、字符串注入函数


Groovy 为 字符串 类 , 注入了一系列的方法 , 下面介绍几个重要的注入方法 ; 为 Groovy 字符串扩展的函数 , 都定义在

代码语言:javascript
复制
public class StringGroovyMethods extends DefaultGroovyMethodsSupport

类中 ;

1、字符串转布尔值 asBoolean 函数

将字符串转为布尔值函数 :

  • 字符串长度为 0 , 则返回 false ;
  • 字符串长度大于 0 , 返回 true ;
代码语言:javascript
复制
"".asBoolean();

注入的 asBoolean 函数 :

代码语言:javascript
复制
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
	/**
	 * 将字符串(CharSequence的实例)强制为布尔值。
	 * 如果字符串的长度为0,则该字符串强制为false,
	 * 反之亦然。
	 * 
	 * @param 字符串指定字符序列
	 * @返回布尔值
	 * @从1.7开始。0
	 */
    public static boolean asBoolean(CharSequence string) {
        return string.length() > 0;
    }
}

执行如下代码 :

代码语言:javascript
复制
class Test {
    static void main(args) {

        println "".asBoolean();
    }
}

执行结果 :

代码语言:javascript
复制
false

2、执行字符串对应命令 execute 函数

调用字符串的 execute() 方法 , 可以执行该 字符串命令 , 前提是该字符串必须是系统命令 , 不能是任意字符串 ;

注入 execute() 函数 :

代码语言:javascript
复制
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);
    }
}

执行如下代码 :

代码语言:javascript
复制
class Test {
    static void main(args) {

        println "cmd /c groovy -v".execute().text
    }
}

执行结果 :

代码语言:javascript
复制
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10

3、字符串减法 minus 函数

两个字符串之间进行减法操作 , 相当于从大的字符串中 , 删除被减去的小的字符串 ;

注入 minus() 函数 :

代码语言:javascript
复制
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);
    }
}

代码示例 :

代码语言:javascript
复制
class Test {
    static void main(args) {
        println "HelloWorld" - "World"
    }
}

执行结果 :

代码语言:javascript
复制
Hello

二、完整代码示例


完整代码示例 :

代码语言:javascript
复制
class Test {
    static void main(args) {

        println "".asBoolean();

        println "cmd /c groovy -v".execute().text

        println "HelloWorld" - "World"
    }
}

执行结果 :

代码语言:javascript
复制
false
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10

Hello
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、字符串注入函数
    • 1、字符串转布尔值 asBoolean 函数
      • 2、执行字符串对应命令 execute 函数
        • 3、字符串减法 minus 函数
        • 二、完整代码示例
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档