String类_常量池_字符串比较

package zuoye;
/**
 * String类_常量池_字符串比较
 * @author 110
 *        1:String类又称作不可变字符序列。
 *        2:String位于java.lang包中,java程序默认导入java.lang包下的所有类。
 *        3:java字符串就是Unicode字符序列,例如字符串“java”就是四个Unicode字符‘j’,‘a’,‘v’,‘a’组成的。
 *        4:java没有内置的字符串类型,而是在标准java类库中提供了一个预定义的类String,每个用双引括号起来
 *        的字符串都是String类的一个实例。
 *        5:java允许使用符号“+”吧两个字符串连接起来。
 *
 *        在java的内存分析中,我们会经常听到关于“常量池”的描述,实际上常量池也分了以下三种:
 *        1:全局字符串常量池(String pool)
 *            全局字符串常量池中存放的内容是在类加载完成后存在String pool中的,在每个VM中只有一份,
 *        存放的是字符串常量的引用值(在堆中声称字符串对象实例)。
 *        2:class文件常量池
 *            class常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量(文本字符串、final常量)
 *        和符号引用(class Constant Pool)
 *        3:运行时常量池(Runtime Constant Pool)
 *            运行时常量池实在类加载完成之后,将每个class常量池中的符号引用值转存到运行时常量池中,也就是说,
 *        每个class都有一个运行时常量池,类在解析之后,将符号引用替换成直接引用,与全局常量池中的引用值保持一致。
 *        
 */
public class practice14 {
    public static void main(String[] args) {
        @SuppressWarnings("unused")
        String str1 = new String("666 ");
        String str2= new String("abc");
        String str3="abcd"+"efgh";
        String str4=str1+str2;
        String str5="18"+19;//不是加法,是字符串连接。
        System.out.println(str2);
        System.out.println(str3);
        System.out.println(str5);//输出是1819,只要两边有一个是字符串,那全部按字符串处理。
        System.out.println("####################");
        
        String str10 = "guonengneng";
        String str11 = "guonengneng";
        String str12 = new String("guonengneng");
        
        System.out.println(str10==str11);//比较他俩是不是同一个对象true,Str10和str11,
                                        //都是放到常量池里面,所以对象是一样的,而str12是新创建的对象。
        System.out.println(str10==str12);//false 。str10和str12不是同一个对象。
        //通常比较字符串时,使用equals
        System.out.println(str12.equals(11));
    }
}
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值