==为运算符,可以用在基本数据类型和引用数据类型变量当中。
基本数据类型包括数值型(整数类型(byte,short,int,long),浮点类型(float,double)),字符型(char)和布尔型(boolean)
public class Test {
public static void main(String[] args) {
int i=1;
int j=1;
System.out.println(i==j);//true
float k=1.0f;
System.out.println(i==k);//true
double l=1.0;
System.out.println(i==l);//true
System.out.println(k==l);//true
char b=1;
System.out.println(i==b);//true
char c=97;
char c1='a';
System.out.println(c==c1);//true
}
}
代码运行结果如图所示:
引用数据类型包括类(class),接口(interface)和数组([ ])。
public class Test {
public static void main(String[] args) {
//实例化对象,创建内存
Person p1=new Person("小莹",18);
Person p2=new Person("小莹",18);
System.out.println(p1==p2);//false,二者地址值不同
String str1=new String("小贾");
String str2=new String("小贾");
System.out.println(str1==str2);//false,与上面类似
}
}
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
代码运行结果如图所示:
得出结论:
equals()为一种方法,而非运算符,只能适用于引用数据类型。
public class Test {
public static void main(String[] args) {
Person p1=new Person("小莹",18);
Person p2=new Person("小莹",18);
System.out.println(p1.equals(p2));//false
String str1=new String("小贾");
String str2=new String("小贾");
System.out.println(str1.equals(str2));//true
}
}
class Person{
String name;
int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public Person(){
}
}
代码运行结果如图所示:
得出结论:
提枪策马乘胜追击04-21 20:01
代码小兵87207-15 12:10
杨晶珍05-11 14:54
杨晶珍05-12 17:30