代码说明

时间:2010-07-11 16:41:14

标签: java

鉴于这些指导,我正确地说:

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但实际上什么也没做  那是对的吗?

2 个答案:

答案 0 :(得分:1)

1)正确

2)差不多。我会在#1中创建列表,然后在每个列表上调用clear()。仅仅因为处理空值是一场噩梦

3)只有当音频字节列表没有数据时,它才会执行任何操作。我想在if语句之后还有更多的代码

答案 1 :(得分:1)

您没有清空步骤2中的列表,您将它们扔掉并创建了2个新列表。如果某些内容仍然存在对旧列表的引用,则相同。您应该使用clear()方法。

至于你在第3部分中的代码,是的,它确实没有做任何事情(除了不必要地检查大小),假设你没有删除任何东西。如果那里还有其他东西,那么所有代码​​段都在说“如果没有数据,则返回(不再执行任何操作)”。