ClassCastException при преобразовании из String в Object .. почему? - PullRequest
6 голосов
/ 31 мая 2011

Я просто играю с MessageFormat , но когда я пытаюсь передать метод String в MessageFormat format , он компилируется нормально, но затем я получаю исключение во время выполнения classcast , Вот код.

MessageFormat format = new MessageFormat(""); Object obj = Integer.toHexString(10); format.format(obj);

Теперь исключение во время выполнения выглядит следующим образом.

Исключение в потоке "main" java.lang.ClassCastException: java.lang.String не может быть приведено к [Ljava.lang.Object; в java.text.MessageFormat.format (Неизвестный источник) в java.text.Format.format (Неизвестный источник) в JavaCore2.Codepoint.main (Codepoint.java:21)

1 Ответ

6 голосов
/ 20 сентября 2011

MessageFormat.format() принимает аргумент типа Object[] (массив Object), тогда как вы передаете один Object.

Вам нужно будет создать массив из ваших Integer:

MessageFormat format = new MessageFormat("{0}");
Object[] args = { Integer.toHexString(10) };

String result = format.format(args);
...