我想知道是否可以比较字符串,就好像它们是数字一样。比如说有什么办法可以让你这么做:"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