LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

И как же в джаве мутировать строки?

Очень просто:

        final String str = "Hello";
        Field valueField = String.class.getDeclaredField("value");
        valueField.setAccessible(true);
        char[] strValue = (char[]) valueField.get(str);
        char[] newValue = Arrays.copyOf(strValue, strValue.length + 6);
        System.arraycopy(" world".toCharArray(), 0, newValue, strValue.length, 6);
        valueField.set(str, newValue);
        System.out.println(str);

Кто ещё скажет, что в жаве не мутабельные строки?

Исходная версия Legioner, :

И как же в джаве мутировать строки?

Очень просто:

        String str = "Hello";
        Field valueField = String.class.getDeclaredField("value");
        valueField.setAccessible(true);
        char[] strValue = (char[]) valueField.get(str);
        char[] newValue = Arrays.copyOf(strValue, strValue.length + 6);
        System.arraycopy(" world".toCharArray(), 0, newValue, strValue.length, 6);
        valueField.set(str, newValue);
        System.out.println(str);

Кто ещё скажет, что в жаве не мутабельные строки?