String объекты могут быть созданы либо с помощью литералов:
String s = "a string";
или позвонив одному из конструкторов:
String s = new String("a string");
Если мы используем литерал String , я попытаюсь повторно использовать уже существующий объект из пула констант String .
С другой стороны, при создании экземпляра Строки с помощью конструктора будет создан новый объект
Этот конструктор принимает множество типов аргументов и использует их для создания нового объекта String .
Имеющиеся подписи
public String() public String(byte[] bytes) public String(byte[] bytes, Charset charset) public String(byte[] bytes, int offset, int length) public String(byte[] bytes, int offset, int length, Charset charset) public String(byte[] bytes, int offset, int length, String charsetName) public String(byte[] bytes, String charsetName) public String(char[] value) public String(char[] value, int offset, int count) public String(int[] codePoints, int offset, int count) public String(String original) public String(StringBuffer buffer) public String(StringBuilder builder)
Пример
@Test public void whenCreateStringUsingByteArray_thenCorrect() { byte[] array = new byte[] { 97, 98, 99, 100 }; String s = new String(array); assertEquals("abcd", s); }