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

2023-03-30 10:21:34 浏览数 (1)

文章目录

  • 一、字符串切割
    • 1、使用 Java 语法切割字符串
    • 2、使用 Groovy 语法切割字符串直接为变量赋值
    • 3、数组赋值给变量 变量个数小于等于数组长度
  • 二、完整代码示例

一、字符串切割


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

代码语言:javascript复制
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 语法 , 切割上述字符串 ,

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

执行结果 :

代码语言:javascript复制
[org.codehaus.groovy, groovy-all, 3.0.5]

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

使用 Groovy 语法切割字符串 , 并使用 (group, name, version) 接收切割后的字符串数组元素的值 , 切割后数组的

3

个元素 , 分别赋值给 group , name , version 变量 ;

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

执行结果 :

代码语言:javascript复制
group : org.codehaus.groovy , name : groovy-all , version : 3.0.5

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

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

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

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

执行结果 :

代码语言:javascript复制
group2 : org.codehaus.groovy , name2 : groovy-all

二、完整代码示例


完整代码示例 :

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

执行结果 :

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

0 人点赞