這裏是對我的評論的解釋,「嘗試爲您的字符串創建一個自定義類並實現Comparable
接口,然後您可以編寫自己的compareTo
方法。」
由於您擁有非常特定的數據類型,因此您可以創建自己定義的類。以下MyString
類封裝了字符串,實現了接口,並提供瞭如何使用compareTo
方法處理此類的示例。
public class MyString implements Comparable<MyString> {
private String data;
public MyString(String data) {
this.data = data;
}
public int compareTo(MyString other) {
String[] thisArray = new String[6];
String[] otherArray = new String[6];
thisArray = this.data.split(" ");
otherArray = other.data.split(" ");
// Compare each pair of values in an order of your choice
// Here I am only comparing the first two number values
if (!thisArray[0].equals(otherArray[0])) {
return thisArray[0].compareTo(otherArray[0]);
} else if (!thisArray[1].equals(otherArray[1])){
return thisArray[1].compareTo(otherArray[1]);
} else {
return 0;
}
}
}
的compareTo
方法返回1,0,或-1取決於值A是否是分別大於,等於,或大於值B同樣較小,這僅僅是一個例子,我只比較字符串。這裏是一個如何比較兩個使用這種方法,您格式化字符串的例子:在Comparable
和compareTo
MyString a = new MyString("1 0 2014/03/03 01:34:39 0.0 0.0 0.0");
MyString b = new MyString("1 1 2014/03/03 01:34:40 0.0 0.0 0.0");
// Do something with the compared value, in this case -1
System.out.println(a.compareTo(b));
文檔可以發現here。
問題是?\ – kosa
*我想比較每個字符串*的這些條目,請解釋您想如何比較它們。 –
我不太明白AlllsWell的問題。你想讓我們爲你寫一個比較方法嗎? *你做了什麼 – Fallenreaper