Table of Contents
ToggleJava String Methods
有兩種方式建立字串,使用文字建立,為了使 Java 更有效地使用記憶體,因為如果字串池中已存在該物件,則不會建立新物件,或是用 new 關鍵字建立字串,在這種情況下,JVM 將在普通堆記憶體中建立一個新的字串物件,並且文字將被放置在字串池中,變數將引用堆中的物件, String Java Methods 本篇增加了範例,並透過單元測試來驗證產出結果。
檔案目錄
./
+- src
+- test
| +- org
| +- ruoxue
| +- java_147
| +- string
| +- StringMethodsTest.java
單元測試
String Methods Java 提供包含、格式化、連接等操作 String 。
contains
建立一個 String ,檢查包含指定的字串。
@Test
public void contains() {
String value = "Assertj 155";
boolean result = value.contains("155");
System.out.println(result);
assertTrue(result);
result = value.contains("Java");
System.out.println(result);
assertFalse(result);
}
true
false
toCharArray
String Methods Java 建立一個 String ,轉成 char 陣列。
@Test
public void toCharArray() {
String value = "Assertj";
char[] result = value.toCharArray();
System.out.println(Arrays.toString(result));
assertEquals(7, result.length);
value = "Assertj 155";
result = value.toCharArray();
System.out.println(Arrays.toString(result));
assertEquals(11, result.length);
}
[A, s, s, e, r, t, j]
[A, s, s, e, r, t, j, , 1, 5, 5]
length
String Methods Java 建立一個 String ,取得長度。
@Test
public void length() {
String value = "Assertj 155";
System.out.println(value.length());
assertEquals(11, value.length());
value = value + "Assertj 155";
System.out.println(value.length());
assertEquals(22, value.length());
}
11
22
format
String Methods Java 建立一個 String ,格式化字串,及長度為 15 向右對齊。
@Test
public void format() {
String value = "Assertj 155";
String result = String.format("String is: %s", value);
System.out.println(result);
assertEquals("String is: Assertj 155", result);
result = String.format("String is: %15s", value);
System.out.println(result);
assertEquals("String is: Assertj 155", result);
}
String is: Assertj 155
String is: Assertj 155
concat
String Methods in Java 建立一個 String ,連接字串。
@Test
public void concat() {
String value = "Assertj";
String result = value.concat(" 155");
System.out.println(result);
assertEquals("Assertj 155", result);
result = value.concat(" Java");
System.out.println(result);
assertEquals("Assertj Java", result);
}
Assertj 155
Assertj Java
trim
String Methods in Java 建立一個 String ,移除左右空白字串。
@Test
public void trim() {
String value = "Assertj 155 ";
String result = value.trim();
System.out.println(result);
assertEquals("Assertj 155", result);
value = " Assertj 155";
result = value.trim();
System.out.println(result);
assertEquals("Assertj 155", result);
}
Assertj 155
Assertj 155
toLowerCase
建立一個 String ,轉換成小寫。
@Test
public void toLowerCase() {
String value = "Assertj";
String result = value.toLowerCase();
System.out.println(result);
assertEquals("assertj", result);
value = "Assertj 155";
result = value.toLowerCase();
System.out.println(result);
assertEquals("assertj 155", result);
}
assertj
assertj 155
toUpperCase
建立一個 String ,轉換成大寫。
@Test
public void toUpperCase() {
String value = "Assertj";
String result = value.toUpperCase();
System.out.println(result);
assertEquals("ASSERTJ", result);
value = "Assertj 155";
result = value.toUpperCase();
System.out.println(result);
assertEquals("ASSERTJ 155", result);
}
ASSERTJ
ASSERTJ 155
StringMethodsTest.java
String Methods in Java 新增單元測試,驗證 String Functions in Java 是否符合預期。
package org.ruoxue.java_147.string;
import static org.junit.Assert.*;
import java.util.Arrays;
import org.junit.Test;
public class StringMethodsTest {
@Test
public void contains() {
String value = "Assertj 155";
boolean result = value.contains("155");
System.out.println(result);
assertTrue(result);
result = value.contains("Java");
System.out.println(result);
assertFalse(result);
}
@Test
public void toCharArray() {
String value = "Assertj";
char[] result = value.toCharArray();
System.out.println(Arrays.toString(result));
assertEquals(7, result.length);
value = "Assertj 155";
result = value.toCharArray();
System.out.println(Arrays.toString(result));
assertEquals(11, result.length);
}
@Test
public void length() {
String value = "Assertj 155";
System.out.println(value.length());
assertEquals(11, value.length());
value = value + "Assertj 155";
System.out.println(value.length());
assertEquals(22, value.length());
}
@Test
public void format() {
String value = "Assertj 155";
String result = String.format("String is: %s", value);
System.out.println(result);
assertEquals("String is: Assertj 155", result);
result = String.format("String is: %15s", value);
System.out.println(result);
assertEquals("String is: Assertj 155", result);
}
@Test
public void concat() {
String value = "Assertj";
String result = value.concat(" 155");
System.out.println(result);
assertEquals("Assertj 155", result);
result = value.concat(" Java");
System.out.println(result);
assertEquals("Assertj Java", result);
}
@Test
public void trim() {
String value = "Assertj 155 ";
String result = value.trim();
System.out.println(result);
assertEquals("Assertj 155", result);
value = " Assertj 155";
result = value.trim();
System.out.println(result);
assertEquals("Assertj 155", result);
}
@Test
public void toLowerCase() {
String value = "Assertj";
String result = value.toLowerCase();
System.out.println(result);
assertEquals("assertj", result);
value = "Assertj 155";
result = value.toLowerCase();
System.out.println(result);
assertEquals("assertj 155", result);
}
@Test
public void toUpperCase() {
String value = "Assertj";
String result = value.toUpperCase();
System.out.println(result);
assertEquals("ASSERTJ", result);
value = "Assertj 155";
result = value.toUpperCase();
System.out.println(result);
assertEquals("ASSERTJ 155", result);
}
}
心得分享
String Functions in Java 提供了 String 建立的方式,在 Java 中, String 物件是不可變的,一旦建立後就不能改變,熟悉 String Methods in Java 這些方法的操作,提升開發效率,在應用上相當廣泛。