永发信息网

JAVA中字符串的大小比较

答案:4  悬赏:50  手机版
解决时间 2021-04-12 20:58
现在Comparable接口里重新写了一个toCompare方法,toCompare里面比较两个字符串的大小,要自己比较,自己写代码,所以不能直接用包里的toCompare
那要怎样比较呢?
最佳答案
一个是按照他那么写比较大小,如果真的想好好验证的话用他的方法
另外一种也比较简单
直接把他们长度取出来 然后比谁大 - -...

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

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

这样 然后先比较他们长度 就是上面的方法 如果长度一致的话就把他们转换成数组 然后转成int型循环比较 比较苯 但是要是想简洁一点的话 你得自己想
全部回答
import java.io.UnsupportedEncodingException; public class MyString implements Comparable { 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; } }
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); }
你先把要比较的两个字符串一个一个字符(用String.charAt(i)取出),然后按第一比较,相同在比较第二个字符。。。。。这样就和你面的差不多了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ空间个人中心怎么设置才能显示背景
植物大战僵尸中文版下载
我是邹城的 想做土特产的生意 从哪里进货比较
没有系统下 用U盘怎么安装DH_Ghost_Windous7_
谁知道。老电影(寻母三万里)在哪里可以看到
The plane crashed and all the passengers i
洋坑尾顶这个地址在什么地方,我要处理点事
QQ号怎么才能不 过期 除非登录 还有别的吗?
冒险岛里有哪几个地方都是只有一个平台的?
广州有卖行货黑色诺基亚n79吗?多少钱
下列句子中,加点词语运用不恰当的
跟哲理有关的诗句,关于哲理的古诗
忘记账户支付密码怎麽办
景缘超市这个地址在什么地方,我要处理点事
华为荣耀6手机升4.0版本玩王者荣耀卡吗
推荐资讯
柳宗元的《小石潭记》全文注音、要求读音准
下面说法,不正确的是A.将一块直角三角板绕着
3.78克的千足金和田玉吊坠花件雕形的白色得值
DNF55勋章怎么做出来
神女控用了两天加速,感觉不好玩,不想用加速
唐朝诗人杜苟鹤的诗《小松》寓意深刻:“自小
国道G310的起点、终点分别是哪里?
QQ炫舞紫钻在不同的地区价钱也不一样的吗?
吸烟对短跑有影响吗?
S5200C怎么全屏看视频
下水槽地址在什么地方,想过去办事
韩石城自助烤肉我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?