我想知道是否可以比較字符串,就好像它們是數字一樣。比如說有什麼辦法可以讓你這麼做:"Cat" > "Dog"
比較字符串,好像它們是數字
4
A
回答
-1
因爲要做到這一點的唯一方法是將一組值的每個字,你會使用數組或數據存儲的一些其他形式。
下面是一個例子,你只是不停的話,兩個數組中相應的值(注意,它們必須以相同的順序,所以第一個字與第一號等相對應)。
public static String[] words = {"cat","dog","banana"};
public static int[] value = {3,4,5};
public static void main(String[] args){
if(valOf("Cat") > valOf("Dog")){
System.out.print("Cat is greater than Dog");
}
else{
System.out.print("Cat is not greater than Dog");
}
}
public static int valOf(String str){
for(int x=0;x<words.length;x++){
if(str.equalsIgnoreCase(words[x])){
return value[x];
}
}
return -1;
}
1
你不行。這需要operator overloading,其中Java won't let you。
+0
嗯,+運營商?它的確如此,你無法定義你自己的版本。 – 2010-12-05 01:33:32
0
不,不存在。 你必須使用compareTo()。
0
可以使用compareTo
方法String
4
就實現Comparator接口和實現比較你喜歡的任何方式。
0
您需要使用下面某種方法:
int compare(String s1, String s2); // write code to do comparison.
5
不能使用運營商(例如"Cat" < "Dog"
)你的建議。正如@larsmans所說,這將需要Java不提供的操作符重載。但是,你仍然可以比較使用"Cat".compareTo("Dog")
如果兩個字符串相等,返回0的字符串,大於0的號碼,如果"Cat"
比"Dog"
少lexicographically,或以其他方式負數。
相關問題
- 1. 比較數字字符串 - 先轉換它們還是比較不轉換?
- 2. Javascript添加數字,就好像它們是一個字符串
- 3. VBA ACCESS比較字符串,因爲它們是整數
- 4. 字符串比較返回false eventhough它們是同一個
- 5. 比較兩個字符串和參數化它們perl的
- 6. 字符/字符串比較
- 7. 字符串字符比較
- 8. 如何添加兩個字符串,就好像它們是數字一樣?
- 9. 如何使用二進制數字,就好像它們是字符串一樣
- 10. 更好的比較字符串方法
- 11. 「你好x」 - 字符串比較
- 12. 比較字符串數組
- 13. 比較字符串
- 14. 比較字符串
- 15. 比較字符串
- 16. 字符串比較
- 17. 比較字符串
- 18. 字符串比較
- 19. 字符串比較
- 20. 字符串比較?
- 21. 字符串比較
- 22. 字符串比較
- 23. 字符串比較
- 24. 比較字符串
- 25. 比較字符串
- 26. 字符串比較
- 27. 字符串比較
- 28. 字符串比較
- 29. 字符串比較
- 30. 字符串比較
「貓」或「狗」是一個數字?爲什麼「貓」>「狗」的數字邏輯? – 2010-12-05 00:46:28
你能詳細說明你的情況嗎?你只是想能夠比較字符串?或者你想爲特定的詞賦予特殊的價值,並且有一個比另一個「更大」? – akf 2010-12-05 00:53:06
我想做後者。 – 2010-12-05 00:56:00