Что такое Ljava.lang.String; @
У меня есть строковый массив selectCancel
с методами setter и getter, который является флажком в моей форме. Я пытаюсь получить проверенные значения, и я получаю вышеуказанный результат при печати.
Я попробовал метод Arrays.toString()
, но он все равно печатает то же самое.
Затем я сделал следующее:
String checked = Arrays.toString(Employee.getSelectCancel());
Я также пробовал с Arrays.asList()
и Arrays.copyOf()
Итак, как я читаю эту строку?
Ответы
Ответ 1
Метод работает, если вы предоставляете массив. Вывод
String[] helloWorld = {"Hello", "World"};
System.out.println(helloWorld);
System.out.println(Arrays.toString(helloWorld));
является
[Ljava.lang.String;@45a877
[Hello, World]
(число после @
почти всегда различно)
Скажите, пожалуйста, тип возврата Employee.getSelectCancel()
Ответ 2
Ljava.lang.String;@
возвращается, когда вы использовали строковые массивы в виде строк. Employee.getSelectCancel()
, похоже, не возвращает a String[]
Ответ 3
Я также встретил эту проблему, когда создал ListView для Android-приложения:
Map<String, Object> m;
for(int i=0; i < dates.length; i++){
m = new HashMap<String, Object>();
m.put(ATTR_DATES, dates[i]);
m.put(ATTR_SQUATS, squats[i]);
m.put(ATTR_BP, benchpress[i]);
m.put(ATTR_ROW, row[i]);
data.add(m);
}
Проблема заключалась в том, что я забыл использовать индекс [i]
внутри цикла