在java中定义数组对象

在java中定义数组对象,java,arrays,class,Java,Arrays,Class,我发现了一个适合我的类声明,但我想知道这个类是否可以写得更“简短”: super()。如果跳过这一行,Java将自动调用默认构造函数(不带参数),因此您可以在示例中跳过这一行 数组的长度应该提前声明。如果这是一个问题,您应该使用容器,例如阵列列表将在需要时自动调整大小 至于多次提到这些字段,Java就是这样的冗长。您提供的示例实现了可比性,这只有在您想要比较数据对象时才有必要(例如,使用比较器时“Obj A”大于“Obj B”)。您不需要构造函数。它的存在只是为了确保元素已初始化。否则,最终可能

我发现了一个适合我的类声明,但我想知道这个类是否可以写得更“简短”:

super()
。如果跳过这一行,Java将自动调用默认构造函数(不带参数),因此您可以在示例中跳过这一行

数组的长度应该提前声明。如果这是一个问题,您应该使用容器,例如<代码>阵列列表将在需要时自动调整大小


至于多次提到这些字段,Java就是这样的冗长。

您提供的示例实现了
可比性
,这只有在您想要比较数据对象时才有必要(例如,使用比较器时“Obj A”大于“Obj B”)。您不需要构造函数。它的存在只是为了确保元素已初始化。否则,最终可能会出现NullPointerException,并且无法进行比较

这个例子简单地说是“安全的”,可以防止某些类型的问题


如果您只需要一个“列表”,可以使用
ArrayList
或其他
list
选项。

super()调用父类构造函数,默认情况下在Java中完成。您可以在示例中跳过这一点。仅供参考,改进现有工作代码的问题更适合欢迎使用Stackoverflow。您看到的“重复”是由于Java的语法造成的。
类别
的每次出现都有不同的含义。如果您不知道这些差异,我强烈建议您学习更多关于Java的知识,这将在编写Java代码时对您有很大帮助。另外,数组的性质是必须在创建数组时指定其长度。如果你想要一个更动态的结构,看看列表。有没有办法“缩短”源代码?在我看来,仅仅定义一个数组似乎很长时间了,但这就是为什么我不是专家。还有:我说的是数组的声明,还是arraylist(或类似的东西)?@香槟,定义数组是一个单行程序-请参阅。说明如何初始化ArrayList。众所周知,Java具有冗长的语法。恐怕你不能再短一点。脚本语言通常更紧凑。您可能想查看类似于Java的脚本语言,是的,您是对的,在您的示例中,您使用的是数组。
public class Data implements Comparable <Data>{
    public Data     (int category,  String quality, String title ) {
        super();
        this.category = category;
        this.quality = quality;
        this.title = title;
    }
    int    category;
    String quality;
    String title;

    @Override
    public int compareTo(Data d) {
       return this.getDuration_value() - (d.getDuration_value());
    }
}
Data[] myDataArray = { 
        new Data(0,                 // category "0"
                "***",              // quality
                "MyTitle1")         // title

        new Data(0,                 // same category "0"
                "**",               // quality
                "MyTitle2")         // title
}