Table of Contents
ToggleString in Java with Examples
為了使 Java 更有效地使用記憶體,用文字的方式建立字串時,當字串池不存在此物件,則會建立新物件,然後會被放置於字串池,若字串池已存在此物件,則不會建立新物件,String in Java 介紹常見的 split 、 compareTo 、 valueOf 、 startsWith 等方法,本篇增加了範例,並透過單元測試來驗證產出結果。
檔案目錄
./
+- src
+- test
| +- org
| +- ruoxue
| +- java_147
| +- string
| +- StringWithExamplesTest.java
單元測試
String Java 提供分割、比較、轉換等操作 String 。
split
建立一個 String ,依分割符分割字串,傳回陣列 。
@Test
public void split() {
String value = "Assertj 155";
String[] result = value.split(" ");
System.out.println(Arrays.toString(result));
assertEquals(2, result.length);
result = value.split(",");
System.out.println(Arrays.toString(result));
assertEquals(1, result.length);
}
[Assertj, 155]
[Assertj 155]
compareTo
String Java 建立一個 String ,比較字串。
@Test
public void compareTo() {
String value = "Assertj 155";
int result = value.compareTo("assertj 155");
System.out.println(result);
assertTrue(result < 0);
value = "assertj 155";
result = value.compareTo("Assertj 155");
System.out.println(result);
assertTrue(result > 0);
result = value.compareTo("assertj 155");
System.out.println(result);
assertTrue(result == 0);
}
-32
32
0
compareToIgnoreCase
String Java 建立一個 String ,不分大小寫比較字串。
@Test
public void compareToIgnoreCase() {
String value = "Assertj 155";
int result = value.compareToIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result == 0);
value = "assertj 155";
result = value.compareToIgnoreCase("Assertj 155");
System.out.println(result);
assertTrue(result == 0);
result = value.compareToIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result == 0);
}
0
0
0
valueOf
String Java 建立一個整數,轉換成字串。
@Test
public void valueOf() {
int value = 155;
String result = String.valueOf(value);
System.out.println(result);
assertEquals("155", result);
result = String.valueOf((Object) null);
System.out.println(result);
assertEquals("null", result);
}
155
null
startsWith
Java String 建立一個 String ,檢查開頭是否為指定字串。
@Test
public void startsWith() {
String value = "Assertj 155";
boolean result = value.startsWith("Assertj");
System.out.println(result);
assertTrue(result);
result = value.startsWith("155");
System.out.println(result);
assertFalse(result);
}
true
false
endsWith
Java String 建立一個 String ,檢查結尾是否為指定字串。
@Test
public void endsWith() {
String value = "Assertj 155";
boolean result = value.endsWith("155");
System.out.println(result);
assertTrue(result);
result = value.endsWith("Assertj");
System.out.println(result);
assertFalse(result);
}
true
false
equals
Java String 建立一個 String ,比較字串是否相等。
@Test
public void equals() {
String value = "Assertj 155";
boolean result = value.equals("Assertj 155");
System.out.println(result);
assertTrue(result);
result = value.equals("Assertj");
System.out.println(result);
assertFalse(result);
}
true
false
equalsIgnoreCase
Java String 建立一個 String ,不分大小寫比較字串是否相等。
@Test
public void equalsIgnoreCase() {
String value = "Assertj 155";
boolean result = value.equalsIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result);
result = value.equalsIgnoreCase("assertj");
System.out.println(result);
assertFalse(result);
}
true
false
StringWithExamplesTest.java
String in Java 新增單元測試,驗證是否符合預期。
package org.ruoxue.java_147.string;
import static org.junit.Assert.*;
import java.util.Arrays;
import org.junit.Test;
public class StringWithExamplesTest {
@Test
public void split() {
String value = "Assertj 155";
String[] result = value.split(" ");
System.out.println(Arrays.toString(result));
assertEquals(2, result.length);
result = value.split(",");
System.out.println(Arrays.toString(result));
assertEquals(1, result.length);
}
@Test
public void compareTo() {
String value = "Assertj 155";
int result = value.compareTo("assertj 155");
System.out.println(result);
assertTrue(result < 0);
value = "assertj 155";
result = value.compareTo("Assertj 155");
System.out.println(result);
assertTrue(result > 0);
result = value.compareTo("assertj 155");
System.out.println(result);
assertTrue(result == 0);
}
@Test
public void compareToIgnoreCase() {
String value = "Assertj 155";
int result = value.compareToIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result == 0);
value = "assertj 155";
result = value.compareToIgnoreCase("Assertj 155");
System.out.println(result);
assertTrue(result == 0);
result = value.compareToIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result == 0);
}
@Test
public void valueOf() {
int value = 155;
String result = String.valueOf(value);
System.out.println(result);
assertEquals("155", result);
result = String.valueOf((Object) null);
System.out.println(result);
assertEquals("null", result);
}
@Test
public void startsWith() {
String value = "Assertj 155";
boolean result = value.startsWith("Assertj");
System.out.println(result);
assertTrue(result);
result = value.startsWith("155");
System.out.println(result);
assertFalse(result);
}
@Test
public void endsWith() {
String value = "Assertj 155";
boolean result = value.endsWith("155");
System.out.println(result);
assertTrue(result);
result = value.endsWith("Assertj");
System.out.println(result);
assertFalse(result);
}
@Test
public void equals() {
String value = "Assertj 155";
boolean result = value.equals("Assertj 155");
System.out.println(result);
assertTrue(result);
result = value.equals("Assertj");
System.out.println(result);
assertFalse(result);
}
@Test
public void equalsIgnoreCase() {
String value = "Assertj 155";
boolean result = value.equalsIgnoreCase("assertj 155");
System.out.println(result);
assertTrue(result);
result = value.equalsIgnoreCase("assertj");
System.out.println(result);
assertFalse(result);
}
}
心得分享
Java String Example 提供了幾種 String 常見方法的操作範例,在應用上相當廣泛,熟悉 Java String 這些方法的操作,像是: split 、 compareTo 、 valueOf 、 startsWith 等方法。