码迷,mamicode.com
首页 > 编程语言 > 详细

Java String的使用问题总结

时间:2017-04-04 14:53:45      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:auto   java   总结   equals   dem   mem   bsp   logs   class   

 

1 == 运算符

用来判断两个对象的引用地址是否相等

2 equals方法

用来判断两个对象的值(内容)是否相等

3 String在使用匿名对象字符串或初始化赋值字符串引用变量时会采用对象池策略,相同内容的字符串,会共用同一段堆内存

4 String在new实例化方式创建字符串对象时会开辟不同的堆内存存储字符串内容,即便是相同的内容。

5 字符串的内容平不可改变,即便是对一个字符串变量赋予新的内容,但是与此同时也智慧开辟新的堆内存空间来存储,并不会改变原来的堆内存空间的内容。而短时间内JVM还来不及回收前面所创造的垃圾内存空间,这可能会造成不好的影响。

下面的例子是对以上的内容的:

StringDemo.java

package test.string;

public class StringDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean b11 = false;
		boolean b12 = false;
		boolean b21 = false;
		boolean b22 = false;
		boolean b31 = false;
		boolean b32 = false;
		boolean b41 = false;
		boolean b42 = false;
		
    if ("hello"=="hello"){
      b11 = true;
    }
    if("hello".equals("hello")){
    	b12 = true;
    }
    System.out.println(b11);//true
    System.out.println(b12);//true
    //===================================
    String str1 = "Hello";
    String str2 = "Hello";
    if(str1 == str2){
    	b21 = true;
    }
    if(str1.equals(str2)){
    	b22 = true;
    }
    System.out.println(b21);//true
    System.out.println(b22);//true
    //==================================
    String str3 = "Hello";
    String str4 = new String("Hello");
    String str5 = new String("Hello");
    if(str3 == str4){
    	b31 = true;
    }
    if(str3.equals(str4)){
    	b32 = true;
    }
    if(str5 == str4){
    	b41 = true;
    }
    if(str5.equals(str4)){
    	b42 = true;
    }
    System.out.println(b31);//false
    System.out.println(b32);//true
    System.out.println(b41);//false
    System.out.println(b42);//true
    //==================================
    String str = "hello ";
    str = str + "world";
    System.out.println(str);//hello world, generate two heap memories
	}
}

  

 

Java String的使用问题总结

标签:auto   java   总结   equals   dem   mem   bsp   logs   class   

原文地址:http://www.cnblogs.com/ioveNature/p/6665000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!