我想扩展ArrayList,为特定类添加一些方法,其实例将由扩展ArrayList保存.下面是简化的说明性代码示例.
这对我来说似乎很明智,但我对Java很新,我看到其他一些不鼓励扩展ArrayList的问题,例如Extending ArrayList和Creating new methods.我不太了解Java以了解异议.
在我之前的尝试中,我最终在ThingContainer中创建了一些基本上是传递给ArrayList的方法,因此扩展看起来更容易.
有没有更好的方法来做我想做的事情?如果是这样,应该如何实施?
import java.util.*;
class Thing {
public String name;
public int amt;
public Thing(String name, int amt) {
this.name = name;
this.amt = amt;
}
public String toString() {
return String.format("%s: %d", name, amt);
}
public int getAmt() {
return amt;
}
}
class ThingContainer extends ArrayList<Thing> {
public void report() {
for(int i=0; i < size(); i++) {
System.out.println(get(i));
}
}
public int total() {
int tot = 0;
for(int i=0; …Run Code Online (Sandbox Code Playgroud)