鉴于这些指导,我正确地说:
1)这里我声明了两个列表对象:audiobytes和lines
List<Byte> audioBytes;
List<Line2D.Double> lines;
2)这里我清空在步骤1中创建的列表,并更新组件 - &gt;重绘()
public void resetWaveform() {
audioBytes = new ArrayList<Byte>();
lines = new ArrayList<Line2D.Double>();
repaint();
}
3)遗憾的是,我不明白:
public void createWaveForm() {
// what does it mean ????
if (audioBytes.size() == 0) {
return;
}
}
让我感到困惑的是,该方法被称为createWaveForm但实际上什么也没做 那是对的吗?
答案 0 :(得分:1)
1)正确
2)差不多。我会在#1中创建列表,然后在每个列表上调用clear()
。仅仅因为处理空值是一场噩梦
3)只有当音频字节列表没有数据时,它才会执行任何操作。我想在if语句之后还有更多的代码
答案 1 :(得分:1)
您没有清空步骤2中的列表,您将它们扔掉并创建了2个新列表。如果某些内容仍然存在对旧列表的引用,则不相同。您应该使用clear()
方法。
至于你在第3部分中的代码,是的,它确实没有做任何事情(除了不必要地检查大小),假设你没有删除任何东西。如果那里还有其他东西,那么所有代码段都在说“如果没有数据,则返回(不再执行任何操作)”。