• Java基础-String和StringBuilder类型(11)


    String类概述

    字符串是由多个字符组成的一串数据
    字符串可以看成是字符数组

    构造方法

    public String(String original)
    public String(char[] value)
    public String(char[] value,int offset,int count)
    直接赋值也可以是一个对象

    注意:字符串是比较特殊的引用类型,直接输出该字符串对象打印的不是地址值而是该对象的值.

    两个string不能用==判断是否相等,因为引用数据类型比较的是引用数据类型的地址值是否相等.

            String s1 = new String("hello");
            String s2 = "hello";
            
            System.out.println("s1:"+s1);
            System.out.println("s2:"+s2);
            
            System.out.println("s1==s2:"+(s1==s2)); //false
            
            String s3 = "hello";
            System.out.println("s1==s3:"+(s1==s3)); //false
            System.out.println("s2==s3:"+(s2==s3)); //true    

    代码的内存图如下

    字符串的内容是存储在方法区的常量池里面的,是为了方便字符串的重复使用.

    当用new String()时,堆中的string对象值为常量池中字符串的地址,string变量存的是堆中对象的地址.

    当直接赋值时,strig变量的值为常量池中字符串的地址.

    String类的判断功能

    boolean equals(Object obj)
    boolean equalsIgnoreCase(String str)
    boolean startsWith(String str)
    boolean endsWith(String str)

    String类的获取功能

    int length()
    char charAt(int index)
    int indexOf(String str)
    String substring(int start)
    String substring(int start,int end) //包括左边的不包括右边的

    String类的转换功能

    char[] toCharArray()
    String toLowerCase()
    String toUpperCase()

    String类的其他功能

    去除字符串两端空格
    String trim()
    按照指定符号分割字符串
    String[] split(String str)

    StringBuilder类概述

    我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuilder就可以解决这个问题

    StringBuilder是一个可变的字符串。字符串缓冲区类。

    String和StringBuilder的区别:String的内容是固定的.StringBuilder的内容是可变的.

    StringBuilder类的常用方法

    添加功能
    public StringBuilder append(任意类型)
    反转功能
    public StringBuilder reverse()

    StringBuilder和String相互转换

    StringBuilder-->String:   stringBuilder.toString();

    String-->StringBuilder:   new StringBuilder(str);

  • 相关阅读:
    [分享]一个天气预报的WebService应用实例
    XMLHttpRequest Ajax 实例简介
    CSS选择符
    MSDN SmartCast更改下载步骤
    发掘VS2005 SP1 (二) 更好的支持主题
    .Net+MySQL组合开发(二) 数据访问篇
    最近一打开cnblogs首页,就弹出电影网站!
    今天有点爽
    .Net+MySQL组合开发(三) 乱码篇
    发掘VS2005 SP1 (三) 母模页
  • 原文地址:https://www.cnblogs.com/aeolian/p/7759783.html
Copyright © 2020-2023  润新知