[BAEL-4136] What is this: [Ljava.lang.Object;?

Code article
This commit is contained in:
Ricardo Caldas 2020-06-07 10:00:48 -03:00
parent 357ecb0341
commit 978a32d0a2
1 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,36 @@
package com.baeldung.arraystostring;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class JavaArraysToStringUnitTest {
@Test public void givenInstanceOfArray_whenTryingToConvertToString_thenNameOfClassIsShown() {
Object[] arrayOfObjects = { "John", 2, true };
assertTrue(arrayOfObjects.toString().startsWith("[Ljava.lang.Object;"));
}
@Test public void givenInstanceOfArray_useArraysToStringToConvert_thenValueOfObjectsAreShown() {
Object[] arrayOfObjects = { "John", 2, true };
assertEquals(Arrays.toString(arrayOfObjects), "[John, 2, true]");
}
@Test public void givenInstanceOfDeepArray_userArraysDeepToStringToConvert_thenValueOfInnerObjectsAreShown() {
Object[] innerArray = { "We", "Are", "Inside" };
Object[] arrayOfObjects = { "John", 2, innerArray };
assertEquals(Arrays.deepToString(arrayOfObjects), "[John, 2, [We, Are, Inside]]");
}
@Test public void givenInstanceOfDeepArray_useStreamsToConvert_thenValueOfObjectsAreShown() {
Object[] arrayOfObjects = { "John", 2, true };
List<String> listOfString = Stream.of(arrayOfObjects).map(Object::toString).collect(Collectors.toList());
assertEquals(listOfString.toString(), "[John, 2, true]");
}
}