美文网首页Java语言
java基础-String类

java基础-String类

作者: 李2牛 | 来源:发表于2018-03-02 17:33 被阅读1次

    String类基本特性

    String类表示的字符串,String是不可变类,因此String对象一旦创建,它的包含的字符序列就不可改变,直至对象被销毁。
    (String类的底层实现是由Public final char values[]实现的,所以String对象一旦创建,存储的内容不可改变。)
    常量池的概念:JVM中一块独立的区域用于存储字符串常量和基本类型常量。

    String创建对象的存储区域比较:

    • 单独使用""创建的字符串都是常量,都是在编译期就存储到常量池中;
    • 使用new String("")创建的对象会存储到堆内存中,是在运行期新创建的;
    • 只包含常量的字符串连接符如"china"+"dream"也是在编译期就存储到常量池;
    • 使用包含变量的字符串连接符如"china"+ s1是在运行时创建的存储于堆内存中

    String的常用方法

    String(): 初始化一个新的String对象,使其为空的字符序列,并不是NULL。
    String(StringBuffer buffer):通过StringBuffer来创建对象
    String(StringBuilder builder):通过StringBuilder来创建对象
    char charAt(int index): 返回index处的字符
    String concat(String str):拼接(常用)
    boolean contentEquals(StringBuffer buffer):内容是否相等
    boolean equals(Object obj): 值相等
    boolean equalsIgnoreCase(String anotherString):忽略大小写判断值是否相等
    byte[] getBytes():将字符串转换成byte数组
    int indexOf(String str):str在字符串中出现的首次索引
    int indexOf(String str,int fromIndex ):从指定的fromIndex开始出现的第一次的str的索引
    int lastIndexOf(String str):返回str最后一次出现的索引
    int length():返回字符串的长度
    String replace(String oldChar,String newChar):使用newChar替换oldChar
    String replaceAll(String regex,String replacement):用给定的replacement替换所有的regex字符串
    boolean startsWith(String str):测试字符串是否以指定前缀开始
    String[] split(String str):将字符串按照指定的字符串分开,返回的为字符串数组
    String substring(int beginIndex):返回从beginIndex开始的子串
    String substring(int beginIndex,int endIndex):返回从beginIndex到endIndex的子串
    char[] toCharArray():字符串转成字符数组(常用)
    String toLowerCase():转小写字母
    String toUpperCase():转大写字母
    static String valueOf(基本类型 obj):基本类型转化成字符串(常用)
    String trim():忽略字符串的前导和尾部空白

    测试char[] toCharArray()

    public class DemoIsNum{
        public static void main(String[] args){
    
        String s1 = "123456789";
        String s2 = "12345 678";
        System.out.println("\"123456789\" are all numbers ? "+isNum(s1));
        System.out.println("\"12345 678\" are all numbers ? "+isNum(s2));
        }
        public static boolean isNum(String str){
            char[] c = str.toCharArray();
            for(char ch : c){
                if(!(ch >= '0'&& ch <= '9')){
                    return false;
                }
            }
            return true;
        }
    
    }
    
    
    运行结果

    相关文章

      网友评论

        本文标题:java基础-String类

        本文链接:https://www.haomeiwen.com/subject/fvsaxftx.html