String类的内存解析——字符串常量池

package pers.songhongkang.chapter4.day09;
//String类的内存解析,存在常量池中
public class TestString {
	public static void main(String[] args) {
		String str1="AA";
		String str2="AA";
		String str3=new String("AA");
		System.out.println(str1==str2);//true
		System.out.println(str1.equals(str2));//true
		System.out.println(str1==str3);//false
		System.out.println(str1.equals(str3));//true
		Person p1=new Person("AA",10);
		Person p2=new Person("AA",10);
		System.out.println(p1==p2);//false,比较的是p1,p2两个地址值
		System.out.println(p1.equals(p2));//false,调用的是object类的equals()方法,比较的是p1,p2两个地址值
		System.out.println(p1.name==p2.name);//true
	}

}
class Person{
	public String name;
	public int age;
	Person(String name,int age) {
		this.name=name;
		this.age=age;
	}
	
	}


阅读更多
个人分类: Java
上一篇==和equals的区别
下一篇toString()方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭