java - 在 Java 中将数组作为参数传递时创建数组

标签 java arrays parameters arguments argument-passing

有没有办法创建一个对象数组作为构造函数或方法的一部分?我真的不确定如何表达这个,所以我举了一个例子。我有一个枚举,其中一个字段是一个数字数组。这是我尝试过的:

public enum KeyboardStuff {

    QWERTY(1, {0.5f, 1.3f, 23.1f}, 6);
    DVORAK(5, {0.1f, 0.2f, 4.3f, 1.1f}, 91);
    CHEROKEE(2, {22.0f}, 11);

    private int number, thingy;
    private float[] theArray;

    private KeyboardStuff(int i, float[] anArray, int j) {
        // do things
    }

}

编译器说方括号 { } 无效,应该删除。有没有一种方法可以在不事先创建对象数组的情况下将数组作为参数传递?

最佳答案

您可以尝试使用 new float[] { ... }

public enum KeyboardStuff {

    QWERTY(1, new float[] {0.5f, 1.3f, 23.1f}, 6);
    DVORAK(5, new float[] {0.1f, 0.2f, 4.3f, 1.1f}, 91);
    CHEROKEE(2, new float[] {22.0f}, 11);

    private int number, thingy;
    private float[] theArray;

    private KeyboardStuff(int i, float[] anArray, int j) {
        // do things
    }

}

关于java - 在 Java 中将数组作为参数传递时创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547722/

相关文章:

Java监控工具

java - 减少相似方法的数量

visual-studio - 为什么 Visual Studio 将参数名称变灰?

c# - 如何以编程方式为 EntityDataSource 和 DetailsView 设置参数?

java - 为什么在处理后 JDialog 中 formWindowClosed 被触发两次

java - 重复 if else 语句

arrays - mongodb - 将多个文档的数组字段连接到一个数组字段

javascript - .NET JSON.decode() 对于大型数组失败

java - 将罗马数字转换为整数值?

.net - 使用 IN 子句参数的 SQL Server 查询