2010-10-07 4 views
0

Я хочу задать вопрос Java String[]. В java, если переменная помещается в другую, она может добавить (String), (int), (double) ... перед переменной в левой части. Тем не менее, есть что-то вроде (String[]) в Java, поскольку я хочу превратить переменную в (String[]).Как преобразовать java-тип в строку java []?

ответ

2

Да, есть (String[]), который будет отлит в массив String.

Но чтобы быть в состоянии бросить в массив строк, вы должны иметь массив супер типа String или супер типа массива (только Object, Serializable и Cloneable).

Так только эти слепки будут работать:

String[] sArray = null; 
Object[] oArray = null; 
Serializable[] serArray = null; 
Comparable[] compArray = null; 
CharSequence[] charSeqArray = null; 
Object object = null; 
Serializable serializable = null; 
Cloneable cloneable = null; 

sArray = (String[]) oArray; 
sArray = (String[]) serArray; 
sArray = (String[]) compArray; 
sArray = (String[]) charSeqArray; 
sArray = (String[]) object; 
sArray = (String[]) serializable; 
sArray = (String[]) cloneable; 
+0

или вы должны быть супер класс массива: 'Object' в этом случае ... –

+0

@Carlos Heuberger, я знал, что я что-то забыл , Я отредактирую ответ;) –

2
  1. То, что вы называете 'новообращенным' на самом деле называются 'отбрасывать'.
  2. Переменная литья не влияет на сам объект. Другими словами, (String) x не эквивалентен x.toString()
  3. String[] - совершенно нормальный Java-класс, как и любой другой. Попробуйте это, например:

    System.out.println (String []. Class.getName());

Вы также можете проверить раздел 'приведение объектов' в Java учебник:
http://download.oracle.com/javase/tutorial/java/IandI/subclasses.html

0

Да, конечно.

Пример:

String s1 = "test1"; 
String s2 = "test2"; 
Object obj [] = new Object[]{s1,s2}; 
String s[] = (String[]) obj; 
System.out.println(s1); 
System.out.println(s2); 
+0

'String s = (String []) obj;' сбой, вы не можете преобразовать 'String []' в 'String' ... и почему вы печатаете s1 и s2? –

+0

ooo, моя ошибка при наборе текста – Nikola

1

То, что вы хотите, вероятно, не приведение к String [], потому что ваш объект не является String [], а что-то другое. То, что я думаю, что вы ищете что-то вроде этого:

int someInt = 1; 
long someLong = 2; 
String[] strings = new String[] { 
    Integer.toString(someInt), 
    Long.toString(someLong)}; 
Смежные вопросы