zoukankan      html  css  js  c++  java
  • Java SE 第二十八,九,三十讲 Object类详解String类详解,String类陷阱深度剖析

    1.java.lang.Object类.java.lang包在使用的时候无需显式导入,编译时,编译器器自动导入.

    2.API(Application Programming Interface).应用编程接口.

    3.当打印引用时,实际上会打印出引用所指对象的toString()方法的返回值,因为每个类都直接或间接低继承自Object,而Object类中定义了toString(),因此每个类中都有toString()这个方法.

    4.关于进制的表示:16进制,逢十六进一,16进制的数制包括:0~9,A,B,C,D,E,F.

    5.equals方法:该方法定义在Object类中,因此Java中的每个类都具有该方法,对于Object类的equals()方法来说,它是判断调用equals()方法的引用于传进来的引用是否一致,即这两个引用是否指向同一个对象.对于Object类来说等价于"==".

    6.对于String类的equals方法来说,它是判断当前字符串与传进来的字符串的内容是否一致.

    7.对于String对象的相等性判断来说,请使用equals方法,而不要使用==

    8. String 是常量,其对象一旦创建完毕就无法改变.当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容.

    9.String Pool(字符串池),

    10.String s=”aaa”;(采用字面值的方式赋值)

    1)查找String Pool中是否存在"aaa这个对象,如果不存在,则在String Pool中创建一个"aaa"对象,然后将String Pool中的这个"aaa"对象的地址返回来赋给引用变量s,这样s就会指向String Pool中的这个"aaa"字符串对象.

    2)如果存在,则不创建任何对象,直接将String Pool中的这个"aaa"对象地址返回来,赋给s引用.

    10.String s = new String("aaa");

    1)首先在String Pool中查找有没有"aaa"这个字符串对象,如果有,则不在String Pool中再去创建"aaa"这个对象了,直接在堆中(heap)中创建一个"aaa"字符串对象,然会将堆中的这个"aaa"对象的地址返回来,赋给s引用,导致s指向了堆中创建的这个"aaa"字符串对象,

    2)如果没有,则首先在String Pool中创建一个"aaa"对象,然后再在堆中(heap)创建一个"aaa"对象,然后将堆中的这个"aaa"对象的地址返回来,赋给s引用,导致s指向了堆中所创建的这个"aaa"对象.

    11.String的intern()方法

    12.只要+运算符连接的内容中有一个是字符串,那么所有的变量都变成字符串例如"false"+true

    本博客内容所有权限保留,若需合作请与博主联系.博主邮箱:donaldjohn@qq.com
  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/donaldjohn/p/1966539.html
Copyright © 2011-2022 走看看