2015-08-19 2 views
-1

У меня есть обработки строковых вопросПочему ошибка типа несоответствия в методе разделения строк при запуске в цикле?

split() - The return type is String[] 

В этом цикл мы храним значение разделения в строке буквального

for (String retval: Str.split("-")) 

Почему это не дает ошибку несоответствия типов, как в код ниже?

String Str1 = "abfg-hjddh-jdj"; 
String Str = Str1.split("-"); 
+0

На что указывает Str? – Thom

ответ

2
String Str = Str1.split("-"); 

дает ошибку, потому что раскол возвращает массив, поэтому правильный синтаксис:

String[] Str = Str1.split("-"); 

В for-each петле

для (String RETVAL: str.split ("- "))

Для каждого цикла : указано, что вы будете итерировать массив, коллекцию или Список строк, поэтому не trhown никакой ошибки

Примеры:

for (int retval : string.split("-")) // error, 

ArrayList<Books> books; 
for (Book book : books) // correct 

Set<Integer> integers; 
for (Integer mInt : integers) // correct 
for (String mInt : integers) // incorrect!!! 

ПОСЛЕДНЕГО, НО НЕ МЕНЕЕ: переменные в Java должна начинаться с LOWERCASE, уточните пожалуйста Code Conventions.

Смежные вопросы