Merge pull request #16431 from sk1418/cast-2-str-vs-str-valueOf

[cast-2-str-vs-str-valueOf] casting vs string.valueOf()
This commit is contained in:
Liam Williams 2024-04-21 19:43:09 +01:00 committed by GitHub
commit ab4a50ba81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,50 @@
package com.baeldung.castingandstringvalueof;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.List;
import org.junit.jupiter.api.Test;
public class CastingToStringVsStringValueOfUnitTest {
@Test
void whenCastingStringAndCallingValueOf_thenCorrect() {
Object obj = "Baeldung is awesome!";
String castResult = (String) obj;
assertEquals("Baeldung is awesome!", castResult);
String valueOfResult = String.valueOf(obj);
assertEquals("Baeldung is awesome!", valueOfResult);
}
@Test
void whenCastingNonStringAndCallingValueOf_thenGetExpectedResult() {
Object obj = 42;
assertThrows(ClassCastException.class, () -> {String castResult = (String) obj;});
String valueOfResult = String.valueOf(obj);
assertEquals("42", valueOfResult);
Object obj2 = List.of("Baeldung", "is", "awesome");
assertThrows(ClassCastException.class, () -> {String castResult = (String) obj2;});
valueOfResult = String.valueOf(obj2);
assertEquals("[Baeldung, is, awesome]", valueOfResult);
}
@Test
void whenObjectIsNullCastingAndCallingValueOf_thenGetExpectedResult() {
Object obj = null;
String castResult = (String) obj;
assertNull(castResult);
String valueOfResult = String.valueOf(obj);
assertNotNull(valueOfResult);
assertEquals("null", valueOfResult);
}
}