这听起来很容易,但我一直试图这么做,I want to initialize my custom class object array using curly braces
这是失败的例子:
类:
class Tranforminfo{
int left;
int top;
int right;
int bottom;
float rorate;
public Tranforminfo(int left, int top, int right, int bottom, float rorate) {
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
this.rorate = rorate;
}
}
用法:(不正确)
// attempt 1
Tranforminfo somedamn = new Tranforminfo[]{(1,2,3,4,5),(6,4,3,5,6)};
// attempt 2
Tranforminfo somedamn = new Tranforminfo[]{{1,2,3,4,5},{6,4,3,5,6}};
// attempt 3
Tranforminfo somedamn = new Tranforminfo[]((1,2,3,4,5),(6,4,3,5,6));
到目前为止没有运气帮助赞赏,我在android(JAVA)编码
答案 0 :(得分:8)
有一些方法可以做到:
Transforminfo[] somedamn =
new Transforminfo[] { new Transforminfo(1,2,3,4,5),
new Transforminfo(6,4,3,5,6) };
Transforminfo[] somedamn =
{ new Transforminfo(1,2,3,4,5), new Transforminfo(6,4,3,5,6) };
首先创建Transforminfo
数组链接,然后将新的Transforminfo
元素添加到。
它与Integer []array = {1, 2, 3}
类似,但您必须使用构造函数来创建Transforminfo
元素。
了解对象创建数组的另一个示例。一切都是平等的。
String array[] = { new String("str1"), new String("str2") };
String[] array = { new String("str1"), new String("str2") };
String array[] = new String[] { new String("str1"), new String("str2") };
String[] array = new String[] { new String("str1"), new String("str2") };
答案 1 :(得分:2)
Transforminfo[] somedamn = {new Transforminfo(1,2,3,4,5), new Transforminfo(1,2,3,4,5)};
Transforminfo[]
正在创建一个指向Transforminfo数组的链接,并使用{...}
创建实际数组(一种特殊的java语法,实际上是最短的语法)
您所做的是:您创建了一个指向Transforminfo对象的链接,并尝试将此链接设置为数组对象