我可以轻松创建这样的数组:
int[] someArray = {1,2,3}
那太好了。现在,假设我想实例化SomeClass的新对象,构造函数将一些数组作为参数,为什么我不能执行以下操作?
SomeClass someObject = new SomeClass ({1,2,3},{'h','i'})
如何在构造函数中初始化数组?
答案 0 :(得分:8)
你可以做到
new SomeClass (new int[] {1,2,3}, new char[] {'h','i'})
答案 1 :(得分:2)
你应该这样做:
SomeClass someObject = new SomeClass (new int[] {1,2,3}, new char[] {'h','i'})
答案 2 :(得分:2)
原因很简单就是有特殊的语法糖来治疗这个:
int[] someArray = {1,2,3};
意思是:
int[] someArray = new int[] {1,2,3};
并且对于可能发生new int[] {1,2,3}
的其他地方没有特殊的语法糖。