猿问

groovy 定义数组方法?

def AR_Interface=new AUTOSAR_Interface[2];
AR_Interface[0]=new AUTOSAR_Interface();
AR_Interface[1]=new AUTOSAR_Interface();

AUTOSAR_Interface是我自己定义的一个class。我需要先声明数组AR_Interface,然后再初始化,有没有简易的代码,可以让这两步同时完成,谢谢。

潇潇雨雨
浏览 2697回答 2
2回答

慕桂英3389331

一、数组的定义及赋初值在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 Listprintln list.get(0)而在Java语言中,你需要这样转化:List list = Arrays.asList(strs)

慕娘9325324

def AR_Interface=new AUTOSAR_Interface[2]{new AUTOSAR_Interface(),new AUTOSAR_Interface()};
随时随地看视频慕课网APP
我要回答