Technology sharing

Java - String class

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Quid est chorda classis?

Puto vos guys cum chordis incurrere cum linguam C disceres, sed in C lingua tantum uti potes
Character array char[10] str = "salve";Nulla dedicated String genus provisum est . In Java objecto ordinatis, chorda classis eiusque operationes specialiter provisae sunt, quae programmatoribus nostris utendi commodius est.

Filum immutabilitas

Contenta chordae mutari non possunt.
Insert imaginem descriptionis hic

  • Characteres in chorda ordinis actu conservant characterem ordinatae dictae valoris.
  • Filum genus finale modificatur, quod significat finalem hereditari non posse.
  • Finalis valorem mutat, quod significat valorem ad alias vestes referre non posse, sed contenta ordinata adhuc mutari possunt!

In Filo, omnes operationes quae pertinent ad possibilitatem modificandi contentum chordae novum obiectum creant, et quod mutatur est obiectum novum.
Verbi gratia, cum substringit quaerendo;
Insert imaginem descriptionis hic
Aliqui dicunt: Fila immutabilia sunt, quia ordo actarum characterum intra eas a finali modificatur et ideo mutari non potest.

  • Haec dicitur falsa Primum, finalis Modificatio Stringae indicat Filtrum genus esse supremum genus et mutari vel hereditari non posse. Genus relationis mutationis finalis indicat relationem variabilium ad alia obiecta referre non posse, sed contenta obiecti respectivi adhuc mutari possunt.
  public static void main(String[] args) {
        final char[] arr = {'h','e','l','l','o'};
        arr[0] = 'H';
        System.out.println(String.valueOf(arr));//Hello
        // arr = new char[]{'h','o'};Error

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2. Basic usus Missa classis

I String construction

Filum typum referens est et chorda non refert.

public class Test {
    public static void main(String[] args) {
        //1.直接赋值
        String s1 = "first";
        //2.new 对象
        String s2 = new String("second");
        //3. 创建字符数组
        char[] arr = {'t','h','i','r','d'};
        String s3 = new String(arr);
        
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

Insert imaginem descriptionis hic

Animadverte:
String s1 = "primum";
Machina Virtualis Java (JVM) primum inspiciet num chorda "prima" iam in chorda constanti stagno existat. Si existit, relatio chordae in piscinis constanti protinus redditur;

2 Comparatio String objects

  1. == compares an eadem referenda sint
     //s1 s2 分别是new 一个新的字符串"hello"
    String s1 = new String("hello");
	String s2 = new String("hello");
	String s3 = "Hello";
	String s4 = s1;

	System.out.println(s1 == s2);//false
 	System.out.println(s1 == s4);//true
	System.out.println(s1 == s3);//false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  1. pares () usus et utrum binae chordae sint aequales, vera redit si aequalis, alioquin falsum
      
        //因为Object类中的equals()方法是==实现的,完成不了String类的需求,
        //所以String对equals()实现了重写

        String s1 = new String("hello");
        String s2 = new String("hello");
        String s3 = "Hello";
        String s4 = s1;

        System.out.println(s1.equals(s2));//true
       	System.out.println(s1.equals(s4));//true
        System.out.println(s1.equals(s3));//false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Insert imaginem descriptionis hic
3. compareTo () comparat ordinem lexicographicum, valor reditus int

        /*
        * 比较的方式有一下两种:
        * 1.先一个一个字符相比较,如果出现不同的字符,则返回差值
        * 2.如果前x个字符相等,则返回两个字符串的长度差值
        * */

        String s1 = new String("abc");
        String s2 = new String("abcdef");
        String s3 = new String("abd");
        String s4 = new String("abc");
        
        System.out.println(s1.compareTo(s2));//-3 (3-6)
        System.out.println(s1.compareTo(s3));//-1
        System.out.println(s1.compareTo(s4));//0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  1. compareToIgnoreCase() Same as compareTo method, but negligit case

        String s1 = new String("Abc");
        String s2 = new String("aBcdef");
        String s3 = new String("aBd");
        String s4 = new String("ABc");

        System.out.println(s1.compareToIgnoreCase(s2));//-3 (3-6)
        System.out.println(s1.compareToIgnoreCase(s3));//-1
        System.out.println(s1.compareToIgnoreCase(s4));//0

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3. Missa quaerere

methodoOfficium
charat charAt (int index)Morem ad indicem positio redit.
int indexOf (int ch)Recurrit locus ubi primum c apparet, et non revertitur -1
int indexOf (int ch, intfromIndex)Incipe ab indice positionis ad inveniendum locum ubi primum c apparet, et redi -1
int indexOf (String str)Recurrit locus ubi primum str apparet, nec reverti -1
int indexOf (String str, intfromIndex)Invenire primum eventum str ab ab indice positione incipiens, sine -1 . reverti
int lastIndexOf (int ch)Quaere a tergo ad frontem, revertere ad locum ubi primum c apparet, nisi redeat -1
int lastIndexOf(int ch, intfromIndex)Incipe quaerere ab indice loco, et quaerere a tergo ad frontem ad locum ubi primum c apparet.
int lastIndexOf (String str)Quaere inde ad frontem et locum ubi primum str non redditur.
int lastIndexOf (String str, intfromIndex)Incipe investigationes ab indice positionis, et a tergo ad frontem quaere pro situ ubi primum str apparet.

 public static void main(String[] args) {
 
        String s = "Hello, how are you today?";
        System.out.println(s.charAt(2)); //l
        System.out.println(s.indexOf('H')); //0
        System.out.println(s.indexOf('l',2)); //从第二个开始找 2
        System.out.println(s.indexOf("are")); //11
        System.out.println(s.indexOf("are",12)); // 未找到-1
        System.out.println(s.lastIndexOf('l')); //从后往前数 3
        System.out.println(s.lastIndexOf('l',3));// 从第三个往后数 3
        System.out.println(s.lastIndexOf("how"));// 7
        System.out.println(s.lastIndexOf("how",6));// 未找到 -1

    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

4.Conversion

1. Conversio numerorum et chordarum

		String s1 = String.valueOf(1234);
        String s2 = String.valueOf(12.34);
        String s3 = String.valueOf(true);
        String s4 = String.valueOf(new Student("Hanmeimei", 18));
        System.out.println(s1);//1234 String
        System.out.println(s2);//12.34 String
        System.out.println(s3);//true String
        System.out.println(s4);//Student@1b6d3586
        System.out.println("=================================");
        int data1 = Integer.parseInt("1234");
        double data2 = Double.parseDouble("12.34");
        System.out.println(data1);//1234
        System.out.println(data2);//12.34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2. Causa conversionis

 		String s1 = "hello";
        String s2 = "HELLO";
        System.out.println(s1.toUpperCase());//HELLO
        System.out.println(s1.toLowerCase());//hello
  • 1
  • 2
  • 3
  • 4

3. Gloria ad mores ordinata et ad mores ordinata ad filum

 		//字符串转字符数组
        String s = "What can I say!";
        char[] arr = s.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
        System.out.println();
        //字符数组转字符串
        String s1 = new String(arr);
        System.out.println(s1);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.Formatting

		//格式化
        String s = String.format("%d/%02d/%d",2024,07,10);
        System.out.println(s);//2024/07/10
  • 1
  • 2
  • 3

5. Missa postea

methodoOfficium
ReponeAll filum (String regex, postea String)Reponere omnia certa content
ReponeFirst filum (String regex, postea String)Reponere primo contentus
		String s = "What can I say say!";
        System.out.println(s.replaceAll("say","look"));
        System.out.println(s.replaceFirst("say","SAY"));

        //What can I look look!
        //What can I SAY say!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6. Gloria fissile

methodoOfficium
String [] String regex.Scinditur omnes chordae
String [] String regex, int limit)Scinditur filum in modum coetibus in certa forma
 		//字符串拆分
        String s = "字 符 串 拆 分";
        String[] str = s.split(" ");
        for(String i : str) {
            System.out.print(i+"|");
        }
        System.out.println();
        String[] str2 = s.split(" ",2);
        for(String i : str2) {
            System.out.println(i);
        }
        
        /*
        * 输出:
        字|符|串|拆|分|
        字
        符 串 拆 分
        * */
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
       /*
       *拆分是特别常用的操作:
       * 一定要重点掌握
       *另外有些特殊字符(通配符)作为分割符可能无法正确切分, 需要加上转义.
       * */
       String s2 = "192.168.1.16" ;
       String[] result = s2.split("\.") ;
       for(String i: result) {
           System.out.println(i);
       }
       System.out.println("\");
       //为了匹配字面上的点号,你需要使用反斜杠()来转义它,
       // 但在Java字符串中,反斜杠本身也是一个转义字符,
       // 所以你需要使用双反斜杠(\)来表示一个字面量上的反斜杠。
       
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

7. Gloria interceptio

	 //字符串截取
        String s = "What can I say!";
        System.out.println(s.substring(6));//an I say!
        System.out.println(s.substring(0,3));//What
  • 1
  • 2
  • 3
  • 4

8. Aufer ducens et aegra spatia a chordis

	 String s = "   yy ds       ";
        System.out.println(s.trim());//yy ds
  • 1
  • 2

10. Missa modificationem

Filum genus mutari non potest. Omnes modificationes nova obiecta creabunt, quae efficientis non est.
Insert imaginem descriptionis hic
Hoc solum 10000, quod 341ms est.

3. StringBuffer et StringBuilder

Propter immutabilem naturam Stringae, ad faciliorem modificationem chordarum, Java etiam classes StringBuilder et StringBuffer praebet. Atque horum generum plerique modi sunt iidem.
Si interest, premeDocumenta Online

Insert imaginem descriptionis hic

1ms cum usura StringBuffer.
Insert imaginem descriptionis hic
Nota: String et StringBuilder classes directe converti non possunt. Si vis se invicem convertere, his principiis uti potes;

  • StringBuilder fit StringBuilder: Utere constructor vel append () modum StringBuilder
  • StringBuilder fit String: vocationem toString () methodo

Discrimen inter String, StringBuffer et StringBuilder

  • Contenta Stringe mutari non possunt, sed contenta StringBuffer et StringBuilder mutari possunt.
  • StringBuffer processui synchrono utitur et operatio filo-tuta est; StringBuilder synchronum processui non utitur et operatione filo tuta est.
    do

Sic dicta salus stamina est sicut cum multi homines ad latrinam veniunt. Una tantum conclavi hoc tempore est. Temporis hoc spatium tibi habes et nemo intrare potest. Praesens munus perficite primum, opes monopolite, deinde opes occupatas post completionem solve.