【发布时间】:2013-04-17 15:02:53
【问题描述】:
实际上我想对对象的数组列表进行排序。为此,我正在使用 Comparable 接口。它完全可以工作但问题是我在排序时会出现这两个问题。
所有第一个字母大写的名字都在顶部,所有第一个字母小写的名字都在底部。
所有排序后的大写字母单词都聚集在一起,然后所有小字母单词都聚集在底部。
这是我的豆子
MyShares.java
public class Myshares implements Comparable<Myshares> {
int id, parent;
String name, path, type, shared_with, shared_or_not, upload_request;
public int getParent() {
return parent;
}
public void setParent(int parent) {
this.parent = parent;
}
public String getUpload_request() {
return upload_request;
}
public void setUpload_request(String upload_request) {
this.upload_request = upload_request;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getShared_with() {
return shared_with;
}
public void setShared_with(String shared_with) {
this.shared_with = shared_with;
}
public String getShared_or_not() {
return shared_or_not;
}
public void setShared_or_not(String shared_or_not) {
this.shared_or_not = shared_or_not;
}
@Override
public int compareTo(Myshares another) {
return this.name.compareTo(another.getName());
}
}
这是输出
我认为它是基于 ASCII 码的。我想要一个完整的排序列表。请看一下。
【问题讨论】:
-
如果你认为这是基于 ASCII 码的,你为什么不比较一下 .toUpper() 呢?
标签: java sorting arraylist comparable