Java中的数据类型
基本数据类型(8种)
byte,short,int,long,float,double,char
引用类型
class类型,interface类型,Array类型
String不是基本的数据类型,是final修饰的java类,是引用类型。
==和.equals的区别
==:
public class A {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String a = "小王";
String b = "小王";
String c = "小张";
String d = input.next();
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a==d);
}
}
设断点调试结果
分析a,b结果为true和a,d结果为false的原因
== 比较的是栈中的值(地址)
所以a,b比较的是两个栈中的值(1 == 1),d处new了一个对象,栈的值发生改变(1==2)
.equals
设断点源码分析
public class B {
public static void main(String[] args) {
String a = new String("字符串");
String b = new String("字符串");
System.out.println(a.equals(b));
}
}
先比较地址是否相同
if (this == anObject) {
return true;
}
再判断传入是否是String类型,否的话返回false,是的话数组的每个元素依次比较
f (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
String字符串的原理
跟踪进行源码分析
可知字符串的原理就是字符数组
字符串常用的方法
1.常见的获取功能(详情见api1.8)
java常见方法函数的实例,
其中包括:
1、字符串比较compareTo、compareToIgnoreCase
2、字符串查找indexOf、lastIndexOf
3、删除字符串
4、字符串替代replace、replaceAll
5、字符串反转reverse
6、字符串转变大小写toUpperCase、toLowerCase
7、去掉首位空格trim
8、是否包含某字符/字符串contains
9、返回指定位置字符charAt