zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    工厂模式一
    面向对象的简单理解二
    工厂模式三
    线程的简单学习
    nyoj35 表达式求值
    nyoj305 表达式求值
    poj1298 The Hardest Problem Ever
    poj1363 Rails
    hdu2036 改革春风吹满地
    nyoj467 中缀式变后缀式
  • 原文地址:https://www.cnblogs.com/aeolian/p/7759783.html
Copyright © 2011-2022 走看看