JAVA中字符串的大小比较
现在Comparable接口里重新写了一个toCompare方法,toCompare里面比较两个字符串的大小,要自己比较,自己写代码,所以不能直接用包里的toCompar...
现在Comparable接口里重新写了一个toCompare方法,toCompare里面比较两个字符串的大小,要自己比较,自己写代码,所以不能直接用包里的toCompare
那要怎样比较呢? 展开
那要怎样比较呢? 展开
5个回答
展开全部
一个是按照他那么写比较大小,如果真的想好好验证的话用他的方法
另外一种也比较简单
直接把他们长度取出来 然后比谁大 - -...
String str = "大小";
int i = str.length();//长度
他的方法是把字符串转为char数组
char[] ch = emid.toCharArray();
这样 然后先比较他们长度 就是上面的方法 如果长度一致的话就把他们转换成数组 然后转成int型循环比较 比较苯 但是要是想简洁一点的话 你得自己想
另外一种也比较简单
直接把他们长度取出来 然后比谁大 - -...
String str = "大小";
int i = str.length();//长度
他的方法是把字符串转为char数组
char[] ch = emid.toCharArray();
这样 然后先比较他们长度 就是上面的方法 如果长度一致的话就把他们转换成数组 然后转成int型循环比较 比较苯 但是要是想简洁一点的话 你得自己想
展开全部
你先把要比较的两个字符串一个一个字符(用String.charAt(i)取出),然后按第一比较,相同在比较第二个字符。。。。。这样就和你面的差不多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把字符串转为char数组
按顺序根据ascii码比较大小
按顺序根据ascii码比较大小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
/**
* [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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
对象内第一次出现子字符串的字符位置。
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询