Java的String类型学习

这些是从JAVA面试题解惑系列中学到的,记录一下,加深下印象。

 

public class StringTest 
{
	public static final String A = "aa";
	public static final String B = "bb";
	
	public static final String C;
	public static final String D;
	
	static
	{
		C = "cc";
		D = "dd";
	}
	
	public static void main(String[] args) 
	{
		//test1
		String s1 = A + B;
		String t1 = "aabb";
		if (s1 == t1) 
			System.out.println("s1等于t1,它们是同一个对象");
		else 
			System.out.println("s1不等于t1,它们不是同一个对象");
		
		//test2
		String s2 = C + D;
		String t2 = "ccdd";
		if (s2 == t2) 
			System.out.println("s2等于t2,它们是同一个对象");
		else
			System.out.println("s2不等于t2,它们不是同一个对象");
		
		//test3
		String a = "ab";
		String b = "cd";
		String c = "abcd";
		
		String d = "ab" + "cd";
		if (d == c) 
			System.out.println("\"ab\"+\"cd\" 创建的对象 \"加入了\" 字符串池中");
		else 
			System.out.println("\"ab\"+\"cd\" 创建的对象 \"没加入\" 字符串池中");
		
		String e = a + "cd";
		if (e == c) 
			System.out.println(" a  +\"cd\" 创建的对象 \"加入了\" 字符串池中");
		else 
			System.out.println(" a  +\"cd\" 创建的对象 \"没加入\" 字符串池中");
		
		String f = "ab" + b;
		if (f == c) 
			System.out.println("\"ab\"+ b   创建的对象 \"加入了\" 字符串池中");
		else 
			System.out.println("\"ab\"+ b   创建的对象 \"没加入\" 字符串池中");
		
		String g = a + b;
		if (g == c) 
			System.out.println(" a  + b   创建的对象 \"加入了\" 字符串池中");
		else 
			System.out.println(" a  + b   创建的对象 \"没加入\" 字符串池中");
	}
}

//栈(stack):主要保存基本类型(char、byte、short、int、long、float、double、boolean)和对象的引用,
//			  数据可以共享,速度仅次于寄存器(register),快于堆。
//堆(heap): 用于存储对象。 

//**********************************
//输出结果为:
//**********************************
//s1等于t1,它们是同一个对象
//s2不等于t2,它们不是同一个对象
//"ab"+"cd" 创建的对象 "加入了" 字符串池中
// a  +"cd" 创建的对象 "没加入" 字符串池中
//"ab"+ b   创建的对象 "没加入" 字符串池中
// a  + b   创建的对象 "没加入" 字符串池中

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值