一、本文用到的知识点:
1.字符串与字符的区别:
字符串就是String类型的, 也可以说是一个对象,是由一个或多个字母、汉字、符号组成。 字符是char类型, 是java中的基础数据类型,只能有一个字母或数字。所以二者不能直接比较。
2.字符串产生的两种方式:
①:双引号给出的字符串对象,存在于堆内存中的常量池中,相同的内容只会存储一份
②:new字符串对象,每new一次都会在堆内存中产生一个字符串对象。
3.字符串比较使用 “字符串1.equals(字符串2)” 方法,而不是使用 ”==“,因为equals方法比较的是字符串内容是否一致,而”==“比较的是两个字符串的地址是否一致。
4.String中有一个方法:charAt(int index),意思就是获取某个索引位置处的字符。
二、将字符转为字符串,然后看是否相等
public static void main(String[] args) {
String name1 = "黑马程序员";
String name2 = "黑";
char c = name1.charAt(0);
System.out.println(c); //结果是:黑
System.out.println(name2.equals(c)); //结果:false
//任何类型变量都可以和字符串相加拼接,加一个空字符串,就可以得到它转化为字符串的结果
System.out.println(name2.equals(c + "")); //结果:true
//通过String.valueOf(char)函数把字符转化成字符串
System.out.println(name2.equals(String.valueOf(c))); //结果;true
//还有其他方法,我就不说了,知道的朋友可以在评论区写出来
}
1.为何第五行 变量c也是”黑“,而与变量name2进行比较却是false呢?
因为charAt方法的得到的是字符,字符与字符串无法比较。
2.代码中最后两行就是将字符换成字符串的方法。
————————————————
版权声明:本文为CSDN博主「努力学习考倒一」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45619952/article/details/123557446