`
mamaoyuan625
  • 浏览: 173590 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java.lang.String的用法小结:

阅读更多

String 的特点:

长度一旦定义了,就不可以改变,即使改变也是重新new的

举例:

public class Test {
	public static void stringReplace(String text) {
		text = text.replace('j', 'i');
		System.out.println("新的对象:" + text);
	}

	public static String stringReplace2(String text) {

		return new String(text);
	}

	

	public static void main(String args[]) {
		
		String s1 = "a";
		String s2 = "a";
		System.out.println("s1== s2: " +(s1 == s2));
		System.out.println("s1.equals(s2) " + s1.equals(s2));

		String news1 = new String("a");
		String news2 = new String("a");
		System.out.println("news1.equals(news2): " + news1.equals(news2));
		System.out.println("news1 == news2: " + (news1 == news2));
		/**
只要重新new过,即使值相同,地址也不同
*/
		
		 String textString = new String("java");
		 stringReplace(textString);
		 System.out.println(textString);
		 /**
		 * 结果:java
		 * 说明:传过去的值被改变成了iava,意思是在内存区域(堆)中重新new
		 * 了一块,值是“iava”,在stringReplace()中,是textString的引用赋给了text,指向了
		 “iava”,但是一旦方法执行完毕
		 * 局部变量text也就消失,在打印textString时,还是指向原来的“java”区域。
		 */
		 
		 

 

结果:s1== s2: true
    s1.equals(s2) :true
news1.equals(news2): true
news1 == news2: false
新的对象:iava
java

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics