В Java все символы хранятся в utf.
Строка в Java максимум занимает 2гб.
Объекты нельзя сравнивать по "==", т.к. объект - это только ссылка. Следовательно, сравнение строк по "==" неприменимо.
String a = "1";
String b = new String ("1");
boolean x = (a == b); // x = false
boolean x = a.equals(b); //x = true
String c = b;
x = (a == c); //x = true
StringBuilder //нужно для сшивания строк, но надо еще посмотреть самому
StringBuilder buff = new StringBuilder(); //то же для StringBuffer
String str1 = "str1";
String str2 = "str2";
buff.append(str1).append(str2);
System.out.println(buff); //выведет "str1str2"
Это работает значительно быстрее обычного str1 += str2;