一、本文用到的知识点:
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.代码中最后两行就是将字符换成字符串的方法。
三、说明:
我是白嫖网上黑马程序员视频学习java,我学习过程中某个程序有问题,我在评论区说出不到半个小时,老师就回复了,在此记录一下这个知识点。最后谢谢那个不知名的老师。