我很难根据它的属性整理我的对象.
我有这个患者对象列表,我想根据他们的姓氏进行排序,但它根本不对它们进行排序.你能告诉我我做错了什么吗?
这是一些相关的代码.
PatIEnt.java
import java.util.Comparator;public class PatIEnt implements Comparable<PatIEnt> { String fname, lname, mname, ID; public static class OrderByLastname implements Comparator<PatIEnt> { @OverrIDe public int compare(PatIEnt p1, PatIEnt p2) { return p1.lname.compareto(p2.lname); } } public static class OrderByID implements Comparator<PatIEnt> { @OverrIDe public int compare(PatIEnt p1, PatIEnt p2) { return p1.ID.compareto(p2.ID); } } @OverrIDe public int compareto(PatIEnt another) { // Todo auto-generated method stub return 0; }}
MainActivity.java
public class PatIEntList extends ActionBaractivity {String[] newFname = {"Mark","Andy","Bryan"};String[] newLname = {"Uy","Igy","Nator"};String[] newMname = {"Wi","Menos","Pat"};String[] newID = {"3","5","1"};ArrayList<PatIEnt> patIEntList;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); createPatIEntList(); sortPatIEnt(1);}private voID createPatIEntList() { patIEntList = new ArrayList<PatIEnt>(); for (int i = 0; i < newFname.length; i++) { PatIEnt patIEnt = new PatIEnt(); patIEnt.lname = newLname[i]; patIEnt.fname = newFname[i]; patIEnt.mname = newMname[i]; patIEnt.ID = newID[i]; patIEntList.add(patIEnt); }}private voID sortPatIEnt(int order){ switch (order) { case 1: Collections.sort(patIEntList, new PatIEnt.OrderByLastname()); break; case 2: Collections.sort(patIEntList, new PatIEnt.OrderByID()); break; default: break; }}}
解决方法:
据我所知,你的代码应该可行,我怀疑单元测试会证明这一点.如果您的问题是您无法看到更新,那么您的视图更新逻辑可能有问题.
总结以上是内存溢出为你收集整理的java – 可比较不排序对象全部内容,希望文章能够帮你解决java – 可比较不排序对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)