首页 > 代码库 > java 之 --------------- String 面试基础的 题

java 之 --------------- String 面试基础的 题

<span style="font-size:18px;">package stu.love.a;


/*
字符串:




*/
public class  StringDemo
{
	public static void main(String[] args) 
	{
		//字符串是常量;一旦创建了字符串,就不能被改变了


		String ss = "hello";
		ss = "world";
		System.out.println(ss);


		//特殊情况:
		/*
         	在定义s2时,先去常量池看是否是有字符串“1000phone”,
         	如果常量池中已经存在该字符串了,就不创建,否则创建
		 	在定义s3时,先去常量池看是否是有字符串“1000phone”,
		 	结果存在,就不再创建了
		*/
		String s2 = "1000phone";
		String s3 = "1000phone";


        System.out.println(s2==s3);//true


		String s4 = new String("1000phone");
		System.out.println(s2==s4);//false


        //String重写了Object中的boolean equals(Object obj)方法,判断两个字符串的内容是否一样
		System.out.println(s2.equals(s4));


		//面试题:以下两句话分别创建了几个对象
		String s5 = "1000phone"; //一个对象  这个对象就是字符串"1000phone" 
		String s6 = new String("1000phone");//如果常量池中存在"1000phone",则只有一个对象,这个对象是new String()
		  
		                                 //如果常量池中不存在"1000phone",则有两个对象,这两个对象是new String() 和"1000phone"




		
	}
}
</span>