【问题标题】:Java - creating an object passing an array as a parameter [closed]Java - 创建一个将数组作为参数传递的对象[关闭]
【发布时间】:2013-01-03 21:10:10
【问题描述】:

我想从我的班级创建一个对象。我的类有一个数组属性,如何通过括号传递?

这是我的课:

private String Description;
private int[] Data = {0, 0, 0, 0, 0, 0, 0, 0, 0};
    public Key(String Desc, int[] d)
{
    Description = Desc;
    Data = d;
}

这就是我创建对象的方式:

Key k1 = new Key("Shoham's Key", {0, 5 , 6, 4, 3, 2, 7, 1, 9});

谢谢。

【问题讨论】:

  • 下面发布的答案是正确的。请遵循 Java 命名约定,变量名以小写字母开头,以提高代码的可读性。
  • @jlordo 是的,读他的问题感觉有点尴尬。

标签: java


【解决方案1】:
Key k1 = new Key("Shoham's Key", new int[] {0, 5 , 6, 4, 3, 2, 7, 1, 9});

注意:new int[] {0, 5 , 6, 4, 3, 2, 7, 1, 9} 声明称为匿名数组声明。

【讨论】:

  • @shohamh 不客气 :)
【解决方案2】:

除了GanGnaMStYleOverFlow所说的

Java Language Specification - 10.6. Array Initializers 说:

数组初始化器可以在声明中指定,或者作为数组创建表达式的一部分(第 15.10 节),创建一个数组并提供一些初始值

所以作为参数传递时不能初始化数组。

所以底部语句是不允许的:

Key k1 = new Key("Shoham's Key", {0, 5 , 6, 4, 3, 2, 7, 1, 9});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    相关资源
    最近更新 更多