添加 Java 中的 String Pool 简介 内容
This commit is contained in:
parent
de42646567
commit
b7d0d45f28
@ -11,6 +11,6 @@
|
||||
- [Java – Generate Random String](https://www.baeldung.com/java-random-string)
|
||||
- [Java String Interview Questions and Answers](https://www.baeldung.com/java-string-interview-questions)
|
||||
- [Java Multi-line String](https://www.baeldung.com/java-multiline-string)
|
||||
- [Guide to Java String Pool](https://www.baeldung.com/java-string-pool)
|
||||
- [Java 中的 String Pool 简介](https://www.ossez.com/t/java-string-pool/14017)
|
||||
- [Fixing “constant string too long” Build Error](https://www.baeldung.com/java-constant-string-too-long-error)
|
||||
- [Java 对象如何安全的 toString](https://www.ossez.com/t/java-tostring/14000)
|
||||
|
@ -3,37 +3,44 @@ package com.ossez.stringpool;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class StringPoolUnitTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(StringPoolUnitTest.class);
|
||||
|
||||
@Test
|
||||
public void whenCreatingConstantStrings_thenTheirAddressesAreEqual() {
|
||||
String constantString1 = "Baeldung";
|
||||
String constantString2 = "Baeldung";
|
||||
String constantString1 = "HoneyMoose";
|
||||
String constantString2 = "HoneyMoose";
|
||||
|
||||
assertThat(constantString1).isSameAs(constantString2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenCreatingStringsWithTheNewOperator_thenTheirAddressesAreDifferent() {
|
||||
String newString1 = new String("Baeldung");
|
||||
String newString2 = new String("Baeldung");
|
||||
String newString1 = new String("HoneyMoose");
|
||||
String newString2 = new String("HoneyMoose");
|
||||
|
||||
assertThat(newString1).isNotSameAs(newString2);
|
||||
|
||||
logger.info("newString1 Address: {}", System.identityHashCode(newString1));
|
||||
logger.info("newString2 Address: {}", System.identityHashCode(newString2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenComparingConstantAndNewStrings_thenTheirAddressesAreDifferent() {
|
||||
String constantString = "Baeldung";
|
||||
String newString = new String("Baeldung");
|
||||
String constantString = "HoneyMoose";
|
||||
String newString = new String("HoneyMoose");
|
||||
|
||||
assertThat(constantString).isNotSameAs(newString);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenInterningAStringWithIdenticalValueToAnother_thenTheirAddressesAreEqual() {
|
||||
String constantString = "interned Baeldung";
|
||||
String newString = new String("interned Baeldung");
|
||||
String constantString = "interned HoneyMoose";
|
||||
String newString = new String("interned HoneyMoose");
|
||||
|
||||
assertThat(constantString).isNotSameAs(newString);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user