equals: true/falsecompareTo:
<0 前者小于后者
=0 equals
>0 前者大于后者
<0 前者小于后者
=0 equals
>0 前者大于后者
解决方案 »
- jna调用dll时,如何处理hwnd参数 ,急!!!!
- 请高手帮忙解决排序问题!
- String 和 StringBuffer 仅仅是对字符串可以进行查找的区别吗?
- 怎么跟踪一个boolean型变量的变化位置?【在线等 20分 给一人】
- 一个关于线程的问题,请帮忙!
- 用java怎么做出类似Dreamweaver那种效果
- SOS..谁能帮我写一个很基础的程序!
- 不对Socket进行任何读写操作时怎么发现对方已经断开连接
- 【客户端不能向服务器端写文件是什么原因啊,急啊,大侠帮忙!!!!】
- 用JAVA读C的数据,只能按字节来读,如果数据中有超过127的值,超出了JAVA中Byte的最大值了,怎么处理?
- 这样的static 也有错??
- 大家请看过来.
String.comparaTo():按字符串的比较规则比较大小,返回一个int,int==0的时候相等,int<0的时候前面的值小
它在里面定义了一个私有的COUNT,然后用string.value.length与count来进行比较~!
但count与length是啥东东?
value是char数组, 存放String的每个字符, 那value.length就是数组长度了
public int compareTo(String anotherString) {
int len1 = count; //字符个数
int len2 = anotherString.count; //字符个数
int n = Math.min(len1, len2); //取最短长度
char v1[] = value; //临时变量
char v2[] = anotherString.value; //临时变量
int i = offset; //偏移
int j = anotherString.offset; //偏移 if (i == j) {
int k = i;
int lim = n + i;
while (k < lim) { //逐个字符比较,只比到最短的长度
char c1 = v1[k];
char c2 = v2[k];
if (c1 != c2) {
return c1 - c2; //不同, 直接返回结果(>0或者<0)
}
k++;
}
}
else { //偏移不同, 从偏移处比较, 最多比较n个字符
while (n-- != 0) {
char c1 = v1[i++];
char c2 = v2[j++];
if (c1 != c2) {
return c1 - c2;
}
}
}
return len1 - len2; //如果能执行此句, 说明前面n个字符是相同的.再比较长度即可
}
String.comparaTo()则是当小于所比较字符串时返回小于零的值
若相等返回0,若大于返回大于0的值。
over...
^______^
那对于“0.00”来说,它的count和.length()各是多少???
还是说它们俩之间有什么区别???