我想知道是否可以比較字符串,就好像它們是數字一樣。比如說有什麼辦法可以讓你這麼做:"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. Javascript添加數字,就好像它們是一個字符串
- 2. VBA ACCESS比較字符串,因爲它們是整數
- 3. 比較兩個字符串和參數化它們perl的
- 4. 字符串比較
- 5. 比較字符串
- 6. 比較字符串
- 7. 字符串比較
- 8. 字符串比較
- 9. 字符串比較
- 10. 比較字符串
- 11. 比較字符串
- 12. 字符串比較
- 13. 比較字符串
- 14. 字符串比較
- 15. 比較字符串
- 16. 字符串比較
- 17. 字符串比較
- 18. 字符串比較?
- 19. 數字比較比字符串比較更快嗎?
- 20. 與字符串比較字符串值
- 21. 如何比較HashMap的字符串並排列它們?
- 22. 如何比較兩個字符串,如果它們不相等
- 23. 比較字符串指針?比較字符串C
- 24. 比較數字和字符串
- 25. 考慮數字的字符串比較
- 26. SQL比較數字字符串
- 27. 如何比較數字字符串?
- 28. Groovy的數字字符串比較
- 29. 比較字符串「數字優先」
- 30. 比較字符串串聯
「貓」或「狗」是一個數字?爲什麼「貓」>「狗」的數字邏輯? – 2010-12-05 00:46:28
你能詳細說明你的情況嗎?你只是想能夠比較字符串?或者你想爲特定的詞賦予特殊的價值,並且有一個比另一個「更大」? – akf 2010-12-05 00:53:06
我想做後者。 – 2010-12-05 00:56:00