zoukankan      html  css  js  c++  java
  • Java中的String和StringBuffer

    String:

    String 类代表字符串.

    //演示字符串
    String str  = "oracle";
    str = "甲骨文";
    

    字符串是常量;

    字符串本身不能改变,但str变量中记录的地址值是可以改变的。

    字符串的本质是一个字符的数组。

    String s3 = "abc";
    String s4 = new String("abc");//创建了两个对象
    System.out.println(s3==s4);//false
    System.out.println(s3.equals(s4));//true,//比的是内容
    //因为String重写了equals方法,建立了字符串自己的判断相同的依据(通过字符串对象中的字符来判断)

    s4创建,在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中

    常量池:是在堆里  开一块区域;

    这是代码画图的原理。

    如果内容一样,就不创建了,会把这个地址返回给你。

    String类构造方法:

    byte[] bys = new byte[]{97,98,99,100};
    String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容
    char[] ch= new char[]{’a’,’b’,’c’,’d’,’e’};
    String s = new String(ch); //创建String对象,把数组元素作为字符串的内容(字符转串)

    String类部分方法:

    length()
              返回此字符串的长度。

    (数组长度用的是length属性、字符串是用的length方法、集合是用的size方法)

    getBytes(Charset charset)
              使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。

    toCharArray()
              将此字符串转换为一个新的字符数组。

    toString()
              返回此对象本身(它已经是一个字符串!)直接打印引用类型变量时,默认调用该类型进行重写后的toString方法。

    startsWith(String prefix, int toffset)
              测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

    endsWith(String suffix)
              测试此字符串是否以指定的后缀结束。

    contains(CharSequence s)
              当且仅当此字符串包含指定的 char 值序列时,返回 true。

    substring(int beginIndex)
              返回一个新的字符串,它是此字符串的一个子字符串。截取。包头不包尾

    equalsIgnoreCase(String anotherString)
              将此 String 与另一个 String 比较,不考虑大小写。忽略大小写

    ASCII码表:

    大写A是从65开始。

    小写a是从97开始。

    数字0是从48开始。

    byte字节的范围是-128到127.

    StringBuffer类:字符缓冲区

    StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区。

    StringBuffer的方法

     链式调用:方法返回值是本身。

    创建一个字符串缓冲区对象。用于存储数据。
    StringBuffer sb = new StringBuffer();
    添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
    String str = sb.append(true).append("hehe").toString();

    StringBuilder类比StringBuffer快。

  • 相关阅读:
    IDEA使用笔记
    面试题整理
    java中的hashCode()方法
    动态规划算法实现部分——0/1背包问题
    算法课堂笔记6—近似算法
    Photoshop CC 2015
    unity学习笔记1--Space Shooter
    转载---sql之left join、right join、inner join的区别
    java连接Fastdfs图片服务器上传失败的解决方法
    Eclipse使用笔记
  • 原文地址:https://www.cnblogs.com/heitaitou/p/12835107.html
Copyright © 2011-2022 走看看