Добрый день. Столкнулся с такой ситуацией. Сначала посмотрел , выдаст этот код: class anyexperiment{ public static void main(String[] args) { // StringBuffer a = new StringBuffer("One"); // StringBuffer b = new StringBuffer("Two"); String a = "One"; String b = "Two"; swap(a,b); System.out.println("a is " + a + "\nb is " + b); } static void swap(String a, String b){ a = a + " more"; b = a; } } вывод: a is One b is Two Но! Если его чуть чуть поменять , то получится совсем другой результат: class anyexperiment{ public static void main(String[] args) { StringBuffer a = new StringBuffer("One"); StringBuffer b = new StringBuffer("Two"); // String a = "One"; // String b = "Two"; swap(a,b); System.out.println("a is " + a + "\nb is " + b); } static void swap(StringBuffer a, StringBuffer b){ a.append(" more"); b = a; } } вывод: a is One more b is Two Подскажите в чем прикол?