GroovyGroovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GroovyGroovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )相关的知识,希望对你有一定的参考价值。





一、字符串切割



android 中的 Gradle 配置中 , 最常用的用法是 , 将 build.gradle 中的 dependencies 依赖中的 org.codehaus.groovy:groovy-all:3.0.5 函数库进行处理 ;

dependencies 
    compile 'org.codehaus.groovy:groovy-all:3.0.5'
    testCompile group: 'junit', name: 'junit', version: '4.12'

org.codehaus.groovy:groovy-all:3.0.5 字符串中存在冒号 , 依据 " : " 将字符串分割开来 ;


1、使用 Java 语法切割字符串


使用 Java 语法 , 切割上述字符串 ,

def libName = "org.codehaus.groovy:groovy-all:3.0.5"

// I. 使用 Java 语法切割
def names = libName.split(":")
// 打印切割结果
// [org.codehaus.groovy, groovy-all, 3.0.5]
println names

执行结果 :

[org.codehaus.groovy, groovy-all, 3.0.5]

2、使用 Groovy 语法切割字符串直接为变量赋值


使用 Groovy 语法切割字符串 , 并使用 (group, name, version) 接收切割后的字符串数组元素的值 , 切割后数组的 3 3 3 个元素 , 分别赋值给 group , name , version 变量 ;

def libName = "org.codehaus.groovy:groovy-all:3.0.5"

// II. Groovy 中切割上述字符串的方法
// 自动将 libName 按照 ":" 切割出来的数组元素
// 分别赋值给 group , name , version 变量
def (group, name, version) = libName.split(":")
// 打印结果 :
// group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
println "group : $group , name : $name , version : $version"

执行结果 :

group : org.codehaus.groovy , name : groovy-all , version : 3.0.5

3、数组赋值给变量 变量个数小于等于数组长度


如果字符串分割出的数组有 3 个元素 , 如果 赋值给 2 个变量 , 就将 前两个数组元素 进行赋值 ;

这里注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常 ;

def libName = "org.codehaus.groovy:groovy-all:3.0.5"

// 如果分割出的数组有 3 个元素
// 但是赋值给 2 个变量 , 就将 前两个数组元素 进行赋值
// 注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常
def (group2, name2) = libName.split(":")
// 打印结果 :
// group2 : org.codehaus.groovy , name2 : groovy-all
println "group2 : $group2 , name2 : $name2"

执行结果 :

group2 : org.codehaus.groovy , name2 : groovy-all




二、完整代码示例



完整代码示例 :

def libName = "org.codehaus.groovy:groovy-all:3.0.5"

// I. 使用 Java 语法切割
def names = libName.split(":")
// 打印切割结果
// [org.codehaus.groovy, groovy-all, 3.0.5]
println names

// II. Groovy 中切割上述字符串的方法
// 自动将 libName 按照 ":" 切割出来的数组元素
// 分别赋值给 group , name , version 变量
def (group, name, version) = libName.split(":")
// 打印结果 :
// group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
println "group : $group , name : $name , version : $version"


// 如果分割出的数组有 3 个元素
// 但是赋值给 2 个变量 , 就将 前两个数组元素 进行赋值
// 注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常
def (group2, name2) = libName.split(":")
// 打印结果 :
// group2 : org.codehaus.groovy , name2 : groovy-all
println "group2 : $group2 , name2 : $name2"

执行结果 :

[org.codehaus.groovy, groovy-all, 3.0.5]
group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
group2 : org.codehaus.groovy , name2 : groovy-all

以上是关于GroovyGroovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )的主要内容,如果未能解决你的问题,请参考以下文章

GroovyGroovy 方法调用 ( 使用 对象名.@成员名 访问 Groovy 对象成员 )

GroovyGroovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )

GroovyGroovy 脚本调用 ( Groovy 类中调用 Groovy 脚本 | 参考 Script#evaluate 方法 | 创建 Binding 对象并设置 args 参数 )

GroovyGroovy 脚本调用 ( Java 类中调用 Groovy 脚本 )

GroovyGroovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )

GroovyGroovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )