Итак, сейчас я делаю тест JUnit для сохранения и загрузки файла сохранения в формате JSON. Однако, сохраняя работу без проблем, я продолжаю сталкиваться с проблемой, когда строка, которую я читаю из файла, не сохраняется в переменной, которую я пишу.Тест JUnit показывает строку, не равную, когда должен быть равен
public void loadSettings(Vector<User> U, String url, String filepath) {
JSONParser parser=new JSONParser();
try {
Object obj=parser.parse(new FileReader(filepath));
JSONObject jsonObject=(JSONObject) obj;
url=jsonObject.get("URL").toString();
//System.out.println(URL);
JSONArray users=(JSONArray)jsonObject.get("Users");
Iterator<Object> iter=users.iterator();
while(iter.hasNext()) {
String temp1=iter.next().toString();
Long temp2=(Long)iter.next();
User n=new User(temp1,temp2.intValue());
U.addElement(n);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Данная строка является строкой "url". Значения для класса пользователя I вставляются в порядке. Я не знаю, в чем проблема, и я работаю над этим часами. Может ли кто-нибудь помочь?
Вы ничего с 'url' не делает. Почему вы проходите строку 'url', а затем присваиваете что-то новое для этого параметра? –
Java передает свои параметры ** по значению **. Независимо от того, какие изменения вы внесете в 'url' внутри метода, это не повлияет на строку, которую вы передаете методу. –