java-String类面试题

/*
* 1.判断定义为String类型的s1和s2是否相等
	* String s1 = "abc";
	* String s2 = "abc";
	* System.out.println(s1 == s2); 	//true			
	* System.out.println(s1.equals(s2)); 	//true		
* 2.下面这句话在内存中创建了几个对象?
	* String s1 = new String("abc");	//创建两个对象,一个在常量池,一个在堆中
* 3.判断定义为String类型的s1和s2是否相等
	* String s1 = new String("abc");        //堆内存	
	* String s2 = "abc";			//常量池
	* System.out.println(s1 == s2); ?	//false
	* System.out.println(s1.equals(s2)); ?	//true
* 4.判断定义为String类型的s1和s2是否相等
	* String s1 = "a" + "b" + "c";
	* String s2 = "abc";
	* System.out.println(s1 == s2); ?	//true	在编译时常量优化机制
	* System.out.println(s1.equals(s2)); ?	//true
* 5.判断定义为String类型的s1和s2是否相等
	* String s1 = "ab";
	* String s2 = "abc";
	* String s3 = s1 + "c";
	* System.out.println(s3 == s2);		//false
	* System.out.println(s3.equals(s2)); 	//true
		 * */

你可能感兴趣的:(java基础)