1. 程式人生 > >JAVA字串類string類

JAVA字串類string類

package com.study.demo;

public class StringDemo {

    public static void main(String[] args) {

        /**
         * 字串2種初始化的比較
         *
         * String s = new String("java");
         * 這種初始化方法會產生2(1)個物件,一個在常量池中,一個在堆中
         *
         * String s = "hello java";
         * 這種初始化方法會產生1(0)個物件,在常量池中
         *
         * 當常量池中已存在字串,括號中成立
         */
// 建立2個物件,一個物件在堆中,一個物件在字串常量池中 String s1 = new String("java"); // 建立1個物件,因為字串常量池中已經有了"java",所以只在堆中建立一個物件 String str1 = new String("java"); // 建立1個物件,這個物件在字串常量池中 String s2 = "hello java"; // 建立0個物件,因為字串常量池中已經有了"hello java",所以str2直接引用常量池中物件 String str2 =
"hello java"; // 一個字元一個字元的比較,如果 s1 和 s2 相同返回 0 System.out.println(s2.compareTo(str2)); String string1 = new String("hello"); String string2 = "hello"; // == 比較的是地址 System.out.println(string1 == string2); // false // String類中的equals比較的是內容,因為String類重寫了equals方法
System.out.println(string1.equals(string2)); // true // 字串長度 String string3 = "my world is beautiful"; System.out.println(string3.length()); // 字元陣列轉換成字串, char[] ch = {'j', 'a', 'v', 'a'}; String s3 = new String(ch); System.out.println(s3); // java // 數值轉換成字串 String.valueOf(1234); // 底層是用 Integer.toString(i)實現的 // 字串轉化為字元陣列 ch = s3.toCharArray(); // 字串轉換成char型別,()中是字串下標索引 String s4 = " hello java "; char c = s4.charAt(1); // h // 字串去除首尾的空格 String s5 = s4.trim(); // "hello java" System.out.println(s5); // 字串替換,可以字元替換 String s6 = s4.replace(" ","!"); // "!hello!java!" System.out.println(s6); // 測試此字串是否以指定的字首開頭 String s7 = "hello java hello java"; System.out.println(s7.startsWith("hello")); // true // 測試此字串是否以指定的字尾結尾 System.out.println(s7.endsWith("java")); // true // 返回指定字元第一次出現的字串內的索引,如果是字串返回字串第一個字元的下標 System.out.println(s7.indexOf('e')); // 1 // 返回指定字元的最後一次出現的字串中的索引,如果是字串返回字串第一個字元的下標 System.out.println(s7.lastIndexOf("java")); // 17 // 字串分割,下面例子是把字串s8按照空格分割成一個字串陣列 String s8 = "CR7 is a football player"; String[] strs = s8.split(" "); // 擷取字串(開始索引,結束索引)不包括結束索引,包括開始索引 String s9 = "0123456789"; System.out.println(s9.substring(5)); // 56789 System.out.println(s9.substring(2, 7)); // 23456 } }