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

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

文章目录

一、字符串切割

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

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

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

二、完整代码示例





一、字符串切割


在 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 33 个元素 , 分别赋值给 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

image.png

目录
相关文章
|
6月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
504 108
|
6月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
192 1
|
6月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
486 1
Redis-常用语法以及java互联实践案例
|
7月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
456 0
|
7月前
|
存储 Java 容器
Java基本语法详解
本文深入讲解了Java编程的基础语法,涵盖数据类型、运算符、控制结构及数组等核心内容,帮助初学者构建坚实的编程基础。
|
8月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
372 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
8月前
|
存储 安全 Java
从基础语法到实战应用的 Java 入门必备知识全解析
本文介绍了Java入门必备知识,涵盖开发环境搭建、基础语法、面向对象编程、集合框架、异常处理、多线程和IO流等内容,结合实例帮助新手快速掌握Java核心概念与应用技巧。
187 0
|
8月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
436 14
|
8月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
729 82