JAVA中字符串的大小比较

现在Comparable接口里重新写了一个toCompare方法,toCompare里面比较两个字符串的大小,要自己比较,自己写代码,所以不能直接用包里的toCompar... 现在Comparable接口里重新写了一个toCompare方法,toCompare里面比较两个字符串的大小,要自己比较,自己写代码,所以不能直接用包里的toCompare
那要怎样比较呢?
展开
 我来答
sd96800
2008-10-16 · TA获得超过599个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:368万
展开全部
一个是按照他那么写比较大小,如果真的想好好验证的话用他的方法
另外一种也比较简单
直接把他们长度取出来 然后比谁大 - -...

String str = "大小";
int i = str.length();//长度

他的方法是把字符串转为char数组
char[] ch = emid.toCharArray();

这样 然后先比较他们长度 就是上面的方法 如果长度一致的话就把他们转换成数组 然后转成int型循环比较 比较苯 但是要是想简洁一点的话 你得自己想
luo0426
2008-10-16 · TA获得超过3351个赞
知道小有建树答主
回答量:1016
采纳率:0%
帮助的人:356万
展开全部
你先把要比较的两个字符串一个一个字符(用String.charAt(i)取出),然后按第一比较,相同在比较第二个字符。。。。。这样就和你面的差不多了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b175ed
2008-10-16 · TA获得超过468个赞
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:324万
展开全部
把字符串转为char数组
按顺序根据ascii码比较大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦蝶莎
2008-10-16 · TA获得超过193个赞
知道答主
回答量:60
采纳率:0%
帮助的人:79.9万
展开全部
import java.io.UnsupportedEncodingException;

/**
* [MyString.java] Create on 2008-10-16 上午10:43:35
* Copyright (c) 2008 by iTrusChina.
*/

/**
* @author WangXuanmin
* @version 0.10
*/
public class MyString implements Comparable<String> {
private String str;

public MyString() {
str = new String();
}

public MyString(String original) {
str = new String(original);
}

public MyString(char[] value) {
str = new String(value);
}

public MyString(char[] value, int offset, int count) {
str = new String(value, offset, count);
}

public MyString(int[] codePoints, int offset, int count) {
str = new String(codePoints, offset, count);
}

@Deprecated
public MyString(byte[] ascii, int hibyte, int offset, int count) {
str = new String(ascii, hibyte, offset, count);
}

@Deprecated
public MyString(byte[] ascii, int hibyte) {
str = new String(ascii, hibyte);
}

public MyString(byte[] bytes, int offset, int length, String charsetName)
throws UnsupportedEncodingException {
str = new String(bytes, offset, length, charsetName);
}

public MyString(byte[] bytes, String charsetName)
throws UnsupportedEncodingException {
str = new String(bytes, charsetName);
}

public MyString(byte[] bytes, int offset, int length) {
str = new String(bytes, offset, length);
}

public MyString(byte[] bytes) {
str = new String(bytes);
}

public MyString(StringBuffer buffer) {
str = new String(buffer);
}

public MyString(StringBuilder builder) {
str = new String(builder);
}

public int compareTo(String anotherString) {
int len1 = str.length();
int len2 = anotherString.length();
int n = Math.min(len1, len2);
char v1[] = str.toCharArray();
char v2[] = anotherString.toCharArray();
int k = 0;
while (k < n) {
char c1 = v1[k];
char c2 = v2[k];
if (c1 != c2) {
return c1 - c2;
}
k++;
}

return len1 - len2;
}

public String toString() {
return str;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((str == null) ? 0 : str.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MyString other = (MyString) obj;
if (str == null) {
if (other.str != null)
return false;
} else if (!str.equals(other.str))
return false;
return true;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乔铃东门星文
2019-03-15 · TA获得超过3801个赞
知道大有可为答主
回答量:3101
采纳率:27%
帮助的人:175万
展开全部
indexof()
返回
string
对象内第一次出现子字符串的字符位置。
strobj.indexof(substring[,
startindex])
参数
strobj
必选项。string
对象或文字。
substring
必选项。要在
string
对象中查找的子字符串。
starindex
可选项。该整数值指出在
string
对象内开始查找的索引。如果省略,则从字符串的开始处查找。
说明
indexof
方法返回一个整数值,指出
string
对象内子字符串的开始位置。如果没有找到子字符串,则返回
-1。
如果
startindex
是负数,则
startindex
被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
从左向右执行查找。否则,该方法与
lastindexof
相同。
示例
下面的示例说明了
indexof
方法的用法。
function
indexdemo(str2){
var
str1
=
"babebibobubabebibobu"
var
s
=
str1.indexof(str2);
return(s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式