如果是char型的。可以直接把char转换为int类型。
比如:
char ca= 'd';
char cb = 'c';
int ia = (int)ca;
int ib = (int)cb;
int类型怎么比大小就不用我说了吧。记住。char是可以转换为int类型的
我给你写个东西。希望对你有所帮助
for(int i=0;i<128;i++){
Systemoutprint(i+"转换为char之后:"+(char)i);
if(i%5==0){
Systemoutprintln();
}
}
/
判断字符串相似
@param str1
比较串
@param str2
被比较串
@return
/
public static boolean isLike(String str1, String str2) {
HashMap<Character, Integer> list = new HashMap<>();
char[] cs1 = str1toCharArray();
char[] cs2 = str2toCharArray();
char temp;
int count;
for (int i = 0; i < cs1length; i++) {
// 取出第一个字符串中的一个字符
temp = cs1[i];
// 与第二个字符串的所有字符比较
for (int j = 0; j < cs2length; j++) {
// 如果字符相同
if (temp == cs2[j]) {
// 看列表中是否有记录
if (listget(temp) == null) {
// 没有记录等于1
listput(temp, 1);
} else {
// 有记录即加1
listput(temp, listget(temp) + 1);
}
}
}
}
Set<Character> set = listkeySet();
for (Character key : set) {
Systemoutprintln(key + "出现的次数" + listget(key));
}
if (listsize() == 0)
return false;
return true;
}
在JAVA里面,牵扯到equals和equalsIgnoreCase比较字符串的功能函数,前者比较的时候区分大小写,空格,后者比较时忽略大小写。这两个很简单,如下例子:
public class ss{
public static void main(String[] args)
{
String c1="i am good";
String c2="i am good";
String c3="I AM GOOD";
String c4=new String("i am good");
String c5=new String("i am good");
String c6=new String("I AM GOOD");
Systemoutprintln("c1==c2:"+(c1==c2));
Systemoutprintln("c1==c3:"+(c1==c3));
Systemoutprintln("c4==c5:"+(c4==c5));
Systemoutprintln("c4==c6:"+(c4==c6));
Systemoutprintln("c1equals(c2)"+c1equals(c2));
Systemoutprintln("c1equals(c3)"+c1equals(c3));
Systemoutprintln("c4equals(c5)"+c4equals(c5));
Systemoutprintln("c4equals(c6)"+c4equals(c6));
Systemoutprintln("c1equalsIgnoreCase(c2)"+c1equalsIgnoreCase(c2));
Systemoutprintln("c1equalsIgnoreCase(c3)"+c1equalsIgnoreCase(c3));
Systemoutprintln("c4equalsIgnoreCase(c5)"+c4equalsIgnoreCase(c5));
Systemoutprintln("c4equalsIgnoreCase(c6)"+c4equalsIgnoreCase(c6));
}
}
可以看到,无论以String c1=”i am good”;方式建立的字符数组还是以String c4=new String(“i am good”);方式建立的数组,在使用equalsIgnoreCase和equals上,两者的区别就在于去不去分大小写。
==和equals的区别。
1首先,从程序执行结果可以看到,在比较以String c1=”i am good”;方式建立的字符数组时,==和以equals的比较结果是一样的,而在以String c4=new String(“i am good”);方式建立的数组时,两者结果却是不一样的,这是因为==比较的是内存位置,不适合拿来比较字符串,而整型等可以用==比较。equals和==的区别就在这里,它比较的是内存中的内容。
2以String c1=”i am good”;方式申请数组时,不立即分配内存,而是在用到时分配,而String c4=new String(“i am good”);需要提前分配好数组内存。两者在内存分配上是有区别的。这也是很多JAVA书籍中申请数组时都要加new的原因,当然,不加也可以,也可使用。加于不加new,也就是使用==比较时有区别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)