JAVA – 泛型物件

Integer 類別

Integer.parseInt(a[0]) 字串轉數字

Integer.max(x,y)

比較x , y 並回傳較大者之值

int x = 20 , y = 10;
stem.out.println(Integer.max(x,y));// 20
// 補充Math.max()也有同效果
System.out.println(Math.max(x,y));// 20

Integer.compare(x, y)

比較兩個 int 值,若 x < y 回傳 -1,若 x == y 回傳 0,若 x > y 回傳 1。

Integer x = 10 , y = 20;
System.out.println(Integer.compare(x, y));//-1

Integer.signum(x)

返回整數的符號函數,若 i 為負回傳 -1,為 0 回傳 0,為正回傳 1。

int x = -20;
System.out.println(Integer.signum(x));//-1
// 補充Math.signum()也有同效果但會變成小數點
System.out.println(Math.signum(x));// -1.0

Integer.toBinaryString(x)

將x轉為二進制

int x = 10;
System.out.println(Integer.toBinaryString(x));//1010

二進制轉十進制 Integer.*parseInt*("1010", 2); // 10

String 類別

string 是不可變的 所以要修改字串要使用stringBuffer類別(後面會說到)

equals()

是否相等

// ex 判斷兩輸入是否相等
Scanner sc = new Scanner(System.in);
String q = sc.nextLine();
String r = sc.nextLine();
if (r.equals(q)){
    System.out.println("True");
}else{
    System.out.println("False");
}

toUpperCase() & toLowerCase()

  • toUpperCase():將字串轉換為大寫。
  • toLowerCase():將字串轉換為小寫。
String s = "Hello World";
System.out.println(s.toUpperCase());  // "HELLO WORLD"
System.out.println(s.toLowerCase());  // "hello world"

strip()

移除字串前後的空白字符。

String s = "   Hello World   ";
System.out.println(s.strip());  // "Hello World"

replace() – 替換全部

replace(char oldChar, char newChar):替換字串中的指定字符。

String s = "Hello World";
System.out.println(s.replace('o', 'a'));
// "Hella Warld"

split()

根據指定的分隔符將字串拆分成陣列。

String s = "apple,banana,orange";
String[] fruits = s.split(",");
for (String fruit : fruits) {
    System.out.println(fruit);
}
// 輸出:
// apple
// banana
// orange

contains() – 是否包含子字串

檢查字串中是否包含指定的子字串

String s = "Hello WORLD";
System.out.println(s.contains("WORLD"));  // true
System.out.println(s.contains("world"));  // false
public class StringStaticMethods {
    public static void main(String[] args) {
        
        // 1. String.format() 用於格式化字串
        String name = "Alice";
        int age = 30;
        System.out.println(String.format("姓名: %s, 年齡: %d", name, age);); // 姓名: Alice, 年齡: 30

        // 2. String.join() = join() in python
        System.out.println(String.join(", ", "蘋果", "香蕉", "橘子")); // 蘋果, 香蕉, 橘子

StringBuffer 類別

Java 中的一種可變的字符串類,用來處理多個字符串的拼接、插入、刪除等操作。當你對 StringBuffer 進行操作時,它不會創建新的對象,而是直接在原本的對象上修改。

格式

StringBuffer sb = new StringBuffer(作用對象).方法()

.方法()

append

append(String str):將指定的字串追加到現有字串的末尾。

StringBuffer sb = new StringBuffer("Hello").append(" World");
System.out.println(sb); // 結果: "Hello World"

insert – 在指定位置插入

insert(int offset, String str):在指定位置插入字串。

StringBuffer sb = new StringBuffer("Hello").insert(5, " World");
System.out.println(sb); // 結果: "Hello World"

delete

delete(int start, int end):刪除指定範圍內的字元。

StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11); // 結果: "Hello"

replace – 指定範圍的替換

replace(int start, int end, String str):替換指定範圍內的字元為新的字串。

StringBuffer sb = new StringBuffer("Hello World").replace(6, 11, "Java");
System.out.println(sb); // 結果: "Hello Java"

reverse

reverse():反轉字串。

StringBuffer sb = new StringBuffer("Hello").reverse();
System.out.println(sb);// 結果: "olleH"

charAt – 返回對應index之字母

charAt(int index):返回指定索引處的字元。

StringBuffer sb = new StringBuffer("Hello");
char ch = sb.charAt(1); // 結果: 'e'

!!注意 StringBufer出來的東西不是字串,若要再進行”是否相等”等的”字串間的動作”需要再.toString()

// ex 判斷是不是回文
Scanner sc = new Scanner(System.in);
String q = sc.nextLine();
StringBuffer r = new StringBuffer(q).reverse();
if (r.toString().equals(q)){ // 要.toString()
    System.out.println("True");
}else{
    System.out.println("False");
}

所以也可以直接格式寫這樣

String test = new StringBuffer(作用對象).toString().方法()

將字串轉為sb後反轉

String x = "Hello World";
// 將 String 轉換為 StringBuffer 並反轉
StringBuffer sb = new StringBuffer(x).reverse();
        
String reversed = sb.toString(); // 再將 StringBuffer 轉回 String
System.out.println(reversed); // 輸出:dlroW olleH