最近分配的变量在下一行中丢失其值

时间:2011-11-24 22:50:02

标签: java eclipse jsp liferay-6

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

在一个JSP中,每次设置某个特定变量时,其变量的值在下一行中更改为null。这太奇怪了,我觉得我应该对它进行截屏 - 它是in this YouTube video

课程AnoterFieldComparator从Liferay延伸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()));
    }
}

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

可以看到项目herehere。我知道问题不是很好,但我很惊讶,通常只有新手谈论这种行为,而且大多数时候他们都错了。

1 个答案:

答案 0 :(得分:1)

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

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