1

我在 Liferay Developer Studio(即 Eclipse)中创建了一个 Liferay portlet,发现了一个非常非常奇怪的行为。

在一个 JSP 中,每次设置某个特定变量时,其变量的值都会null在下一行更改为。这太奇怪了,我觉得我应该把它截屏——它就在这个 YouTube 视频中。

该类从 LiferayAnoterFieldComparator扩展OrderByComparator而来,如下所示。这个问题也发生在OrderByComparator子类上,尽管这对我来说毫无意义。

public class AnoterFieldComparator extends OrderByComparator {
    @Override
    public int compare(Object o1, Object o2) {
        Example example1 = (Example)o1;
        Example example2 = (Example)o2; 
        return Integer.parseInt(""+(example1.getAnotherField() - example2.getAnotherField()));
    }
}

(是的,有一个错字。这只是一个实验:))

该项目可以在这里这里看到。我知道这个问题写得不是很好,但我很惊讶,通常只有新手才会谈论这种行为,而且他们大部分时间都是错误的。

4

1 回答 1

1

AnotherFieldComparator (或其超类)的 toString 方法是什么?

屏幕投射中的值列不会变为空,只是下面的框是此类的字符串表示形式,在视频的末尾,您仍然可以在比较器右侧看到类和对象 ID,所以variable 不为 null,只是 to string 方法返回 null (0x0) 或字符串“null”。

于 2011-11-24T23:23:24.027 回答