compareTo

发布时间:2024-01-11 00:20:34 来源:君肯网

compareTo:比较

compareToIgnoreCase:比较,忽略大小写

如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。

例:字典的顺序:0123456ABCabc 大写字母在小写字母前

String query = new String()

String number = new String()

int i = 0

query = “a”

number = “1”

i = query.compareTo(“A”)(a在A之后,返回大于0的值)

i = number.compareTo(“2”)(1在2之前,返回小于0的值)

刚刚接触java。。这里看不懂。。麻烦大虾们解释下。。

String类里的compareToIngoreCase是这样的:

public static final Comparator&ltString&gtCASE_INSENSITIVE_ORDER = new CaseInsensitiveComparator()

public int compareToIgnoreCase(String str)

{

return CASE_INSENSITIVE_ORDER.compare(this, str)

}

private static class CaseInsensitiveComparator

implements Comparator&ltString&gt, java.io.Serializable {

// use serialVersionUID from JDK 1.2.2 for interoperability

private static final long serialVersionUID = 8575799808933029326L

public int compare(String s1, String s2) {

int n1=s1.length(), n2=s2.length()

for (int i1=0, i2=0i1&ltn1 &amp&ampi2&ltn2i1++, i2++) {

char c1 = s1.charAt(i1)

char c2 = s2.charAt(i2)

if (c1 != c2) {

c1 = Character.toUpperCase(c1)

c2 = Character.toUpperCase(c2)

if (c1 != c2) {

c1 = Character.toLowerCase(c1)

c2 = Character.toLowerCase(c2)

if (c1 != c2) {

return c1 – c2

}

}

}

}

return n1 – n2

}

}

这是JDK源文件里的

比较的方法就是把两个String截成一个一个char的比较,每个char比较另一个String对应位置里的char,如果两个char都换成大写和都换成小写是一样的话,比较下一个,直到找到两个不一样的char,都转换成小写,然后return相差(ASCII里的值)。如果其中一个或者两个String都比较完了还没有同样的char的话,那就return两个String的长度差距。

其实这个代码还蛮简单的,自己稍微看看就明白了

java 中这句(musics[i].compareToIgnoreCase(music)>0 什么意思啊

compareToIgnoreCase:比较两个字符串不区分大小写,就是按照字母表顺序比较,你懂得。如果books[i]大得话,就返回一个正数,相等的话返回0,小得话返回负数。

Line:是一行,就是把一行作为一个字符串读取进来

在JAVA中多个字符串如何比较大小 ? 急切!!!!

举个例子:如果String music[1] = “music”

String music = “aaaaaa”( 或者String music = “AAAAAA”是一样的,因为它是忽略大小写的)

那么(musics[i].compareToIgnoreCase(music)&gt0返回的就是true

如果String music = “n”(String music = “N”是一样的)那么返回就是false

compareTo

哈 昨天刚写 有点出入,我比较大小然后排序了自己看着改一下就是

import java.util.ArrayList

import java.lang.Math

public class SortStrTest{

private String s1,s2

private int flag,y

public ArrayList&ltString&gtSort(ArrayList&ltString&gta)

{

for(int x=0x&lta.size()x++)

{

y=a.size()//得出需要比较大小排序的字符串数量

//循环移位比较,冒泡排序

for(int i=0i&lty-1i++)

{

s1=a.get(i)

s2=a.get(i+1)

flag=s1.compareToIgnoreCase(s2)//比较字符串大小 忽略大小写,需要不忽略大小写可以去看看关于String的API 里面有方法

if(flag&gt=0)

{

a.set(i,s2)

a.set(i+1,s1)

}

}

y=y-1

}

return a

}

public static void main(String [] args)

{

//下面这一是用来测试的

SortStrTest so = new SortStrTest()

ArrayList&ltString&gta = new ArrayList&ltString&gt(50)

ArrayList&ltString&gtb

//随机生成一个需要比较大小并排序的字符串列表

for(int i=0i&lt50i++)

{

a.add(“”+(char)(Math.random()*26+’A’))

}

//调用排序方法 ,a排序后的结果返回赋值给列表b

b=so.Sort(a)

//打印输入排序结果

for(int j=0j&ltb.size()j++)

{

System.out.println(b.get(j))

}

///测试结束

}

}

以上就是关于compareTo 和comparetoIgnorecase有啥区别全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

compareTo:比较 compareToIgnoreCase:比较,忽略大小写 如果参数字符串等于此字符串,则返回 0 值;如果按字典顺…
查看详情
compareTo:比较 compareToIgnoreCase:比较,忽略大小写 如果参数字符串等于此字符串,则返回 0 值;如果按字典顺…
查看详情
compareTo:比较 compareToIgnoreCase:比较,忽略大小写 如果参数字符串等于此字符串,则返回 0 值;如果按字典顺…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载