JAVA字符串

java字符串主要分布于String池和线程堆区。

public class StringTest { 
    public static void main(String args[]) { 
        //在池中和堆中分别创建String对象"abc",s1指向堆中对象 
        String s1 = new String("abc"); 
        //s2直接指向池中对象"abc" 
        String s2 = "abc"; 
        //在堆中新创建"abc"对象,s3指向该对象 
        String s3 = new String("abc"); 
        //在池中创建对象"ab" 和 "c",并且s4指向池中对象"abc" 
        String s4 = "ab" + "c"; 
        //c指向池中对象"c" 
        String c = "c"; 
        //在堆中创建新的对象"abc",并且s5指向该对象 
        String s5 = "ab" + c; 
        

        String s6 = "ab".concat("c"); 
        String s7 = "ab".concat(c); 
        //s8指向池中对象"c" 
        String s8 = "ab";
      //在堆中创建新的对象"abc",并且s8指向该对象 
        s8 += "c";

        System.out.println("------------实串-----------"); 
        System.out.println(s1 == s2); //false 
        System.out.println(s1 == s3); //false 
        System.out.println(s2 == s3); //false 
        System.out.println(s2 == s4); //true 
        System.out.println(s2 == s5); //false 
        System.out.println(s2 == s6); //false 
        System.out.println(s2 == s8); //false 
        System.out.println(s5 == s8); //false 

        String b1 = new String(""); 
        String b2 = ""; 
        String b3 = new String(""); 
        String b4 = "".intern(); 
        String b5 = "" + ""; 
        String b6 = "".concat(""); 
        String b7 = "  ".trim(); 
        String b8 = "  "; 
        String b9 = "    ".trim(); 

        System.out.println("------------空串-----------"); 
        System.out.println(b1 == b2);  //false 
        System.out.println(b1 == b3);  //false 
        System.out.println(b2 == b3);  //false 
        System.out.println(b2 == b4);  //true 
        System.out.println(b2 == b5);  //true* 
        System.out.println(b2 == b6);  //true* 
        System.out.println(b2 == b7);  //false* 
        System.out.println("-----a----"); 
        System.out.println(b2.equals(b7));  //true 
        System.out.println(b7 == b8);  //false 
        System.out.println(b7 == b9);  //false 
        System.out.println(b7.equals(b9)); //true 
        System.out.println(b9 == null);//false 

        System.out.println("b8.trim():"); 
        for (byte b : b8.getBytes()) { 
            System.out.print(">>>" + (int) b + " "); 
        } 
        System.out.println("\nb8.trim():"); 
        for (byte b : b8.trim().getBytes()) { 
            System.out.print(">>>" + (int) b + " "); 
        } 
        System.out.println("\nb9.trim():"); 
        for (byte b : b9.trim().getBytes()) { 
            System.out.print(">>>" + (int) b + " "); 
        } 
    } 
}

String a = "hello2"; 
        final String b = "hello";
        //错误示范   b="";
        String d = "hello";
        String c = b + 2; 
        String e = d + 2;
        System.out.println((a == c));//编译确定了b的值,此时b为常量
        System.out.println((a == e));//运行时才能确定d的值,d为变量,地址发生了变换
    	System.out.println(digitCounts(1,12) );
    	String haha="year";
    	haha=haha+4.05+"%";
        System.out.println("转换后的时间为:" + haha);


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值