«Строковые объекты могут быть созданы либо с помощью литералов:
String s = "a string";
, либо путем вызова одного из конструкторов:
String s = new String("a string");
Если мы используем литерал 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);
}
«Java Строка.Строка()»