zoukankan      html  css  js  c++  java
  • 对String的内存解析

    @Test
        public void stringTest(){
            /*
             * str1和str2地址指向字符串常量池
             * 解析: str1 在字符串常量池中创建出java 地址例如为:0x456 
             * str2建立时会去常量池中找是否有java 有的话赋值 str2地址为0x456
             * str3和str4地址指向堆空间
             * str在对空间创建,Stringvalue属性指向字符串常量池,存在赋值给其内部属性 value地址为0x456 而对于创建的空间而言 也是有自己的地址为0x789
             * 所以str3为0x789 
             * ==判断地址
             * equals判断内容 同为字符串常量池中的java 所以相等
             */
            String str1="java";
            String str2="java";
            String str3=new String("java");
            String str4=new String("java");
            System.out.println(str1==str2);//true  同指向字符串常量池中所以值和地址都相同
            System.out.println(str1.equals(str2));//true 
            System.out.println(str1==str3);//false   地址不同 str3有自己独有的地址
            System.out.println(str1.equals(str3));//true
            System.out.println(str3==str4);//false   地址不同
            System.out.println(str3.equals(str4));//true str3和str4中的value属性(用来保存字符串的)也是指向字符串常量池中的0x456所以值是相等的
        }

  • 相关阅读:
    430flash的操作
    430单片机之定时器A功能的大致介绍
    MSP430看门狗
    430之通用异步串口通信模块
    430的启动,I/O中断
    Msp430概述
    烦躁
    12864密码锁
    单片机的动手实践篇--51单片机玩转12864
    【CSS】font样式简写(转)- 不是很建议简写
  • 原文地址:https://www.cnblogs.com/bweird-java/p/5221596.html
Copyright © 2011-2022 走看看