Итак, у меня есть эта функция, комбинации, которая добавляет в arraylist все перестановки строки.Проблема Java ArrayList (включает valueOf())
public static void combinations(String prefix, String s, ArrayList PermAttr) {
if (s.length() > 0) {
PermAttr.add(prefix + s.valueOf(s.charAt(0)));
combinations(prefix + s.valueOf(s.charAt(0)), s.substring(1), PermAttr);
combinations(prefix, s.substring(1), PermAttr);
}
}
Теперь у меня есть этот массивList tryCK, который, скажем, {{A, B}}.
У меня есть еще один массивList CK, который также является {"A", "B"}, но он был получен из функции комбинаций выше.
Когда я делаю tryCK.equals (CK), он возвращает true.
Но когда я передал его через другую функцию, которую я использую как для tryCK, так и для CK, для tryCK он возвращает true, а CK возвращает false, хотя они являются точно такими же списками.
Итак, мой вопрос в том, что использование .valueOf (s.charAt()) изменяет некоторый внутренний тип?
Это очень сложно объяснить, но я не хочу публиковать полный код.
был ли это правильный ответ? – Matt