为了账号安全,请及时绑定邮箱和手机立即绑定

groovy 定义数组方法?

groovy 定义数组方法?

潇潇雨雨 2019-01-29 06:06:12
def AR_Interface=new AUTOSAR_Interface[2];AR_Interface[0]=new AUTOSAR_Interface();AR_Interface[1]=new AUTOSAR_Interface();AUTOSAR_Interface是我自己定义的一个class。我需要先声明数组AR_Interface,然后再初始化,有没有简易的代码,可以让这两步同时完成,谢谢。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

一、数组的定义及赋初值
在Groovy语言中,数组的定义和Java语言中一样。
def a = new String[4]

def nums = newint[10]

def objs = new Object[3]

然后赋值也一样:
a[0] = 'a'
a[1] = 'b'
a[2] = 'c'
a[3] = 'd'

所不同的在于在数组定义的时候赋初值。
Java语言里,对一个字符串数组这样定义:
String[] strs = new String[]{'a','b','c','d'};

而在Groovy语言中,对一个字符串数组则需要这样定义:
def strs = ['a','b','c','d'] as String[]

二、数组的遍历
在Groovy语言中,对数组的遍历方法很多,常用的是使用each方法:
a.each{

println it
}

当然,你也可以使用增强for循环
for(it in a)
{
println it
}

你还可以使用如下的遍历方式:
(0..<a.length).each{
println a[it]
}

三、数组和List之间的转化
List对象转化成数组对象非常简单:
List list = ['a','b','c','d']

def strs = list as String[]

println strs[0]

绝对没有Java语言那么复杂:
List list = new ArrayList();
list.add("1");
String[] strs = (String[])list.toArray(new String[0]);

System.out.println(strs[0]);

而从数组转化成List对象也非常简单:
def strs = ['a','b','c','d'] as String[]

List list = strs.toList()

println list.get(0)

你也可以这样转化:
def strs = ['a','b','c','d'] as String[]
List list = strs as List

println list.get(0)

而在Java语言中,你需要这样转化:

List list = Arrays.asList(strs)



查看完整回答
反对 回复 2019-03-15
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

def AR_Interface=new AUTOSAR_Interface[2]{new AUTOSAR_Interface(),new AUTOSAR_Interface()};

查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 2696 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号