Google app engine 如何获取实体被持久化的日期
我想按最后添加的单元格表对单元格表进行排序,现在,要做到这一点,我需要按它们添加到应用程序的日期对它们进行排序。有办法得到这个日期吗?或者我必须为每个类?创建一个新属性?。谢谢 您需要创建自己的属性。如果我理解得很好,您可以使用比较器。例如,假设您在gwt.shared.model包中有一些CLA,例如:Google app engine 如何获取实体被持久化的日期,google-app-engine,gwt,google-cloud-datastore,Google App Engine,Gwt,Google Cloud Datastore,我想按最后添加的单元格表对单元格表进行排序,现在,要做到这一点,我需要按它们添加到应用程序的日期对它们进行排序。有办法得到这个日期吗?或者我必须为每个类?创建一个新属性?。谢谢 您需要创建自己的属性。如果我理解得很好,您可以使用比较器。例如,假设您在gwt.shared.model包中有一些CLA,例如: public class SomeClass implements IsSerializable { private Date date; // some stuff
public class SomeClass implements IsSerializable {
private Date date;
// some stuff...
}
然后,为该类实现一个比较器
import java.util.Comparator;
public class SomeClassComparator implements Comparator<SomeClass> {
@Override
public int compare(SomeClass someObject1, SomeClass someObject2) {
if (someObject1.getDate().getTimeInMillis() > someObject2.getDate().getTimeInMillis()) return 1
else if someObject1.getDate().getTimeInMillis() > someObject2.getDate().getTimeInMillis() return 0;
else return 0;
}
}
import java.util.Comparator;
公共类SomeClassComparator实现Comparator{
@凌驾
公共int比较(SomeClass someObject1,SomeClass someObject2){
if(someObject1.getDate().getTimeInMillis()>someObject2.getDate().getTimeInMillis())返回1
否则,如果someObject1.getDate().getTimeInMillis()>someObject2.getDate().getTimeInMillis()返回0;
否则返回0;
}
}
在将对象添加到表中之前,必须执行以下操作:
List<SomeClass> someObjects = ... // list of objects
Collection.sort(someObjects);
列出一些对象=…//对象列表
Collection.sort(someObjects);
然后可以在单元格表中显示它们
编辑1:比较程序必须包含在gwt.shared.model中是的,我是这样做的。谢谢这很好,但我必须实现Comparable,而不是Comparator。当你有向量要排序时,Collections.sort()是可比较的。明白了(我想),你是在尝试给出可比较的行为,而不是通过方法对实例进行排序,是吗?