Я соглашаюсь со всей производительностью и сообщениями удобочитаемости. Однако существуют случаи, где это действительно имеет значение. Пара других людей упомянула это, но могло бы быть легче видеть с примерами.
Рассматривают этот немного измененный пример:
public static void main(String[] args) {
String[] myNumberStrings = new String[] {"1.2345", "asdf", "2.3456"};
ArrayList asNumbers = parseAll(myNumberStrings);
}
public static ArrayList parseAll(String[] numberStrings){
ArrayList myFloats = new ArrayList();
for(int i = 0; i < numberStrings.length; i++){
myFloats.add(new Float(numberStrings[i]));
}
return myFloats;
}
, Если Вы хотите, чтобы parseAll () метод возвратил пустой указатель, если существуют какие-либо ошибки (как исходный пример), Вы поместили пробование/завоевывание популярность внешней стороны как это:
public static ArrayList parseAll1(String[] numberStrings){
ArrayList myFloats = new ArrayList();
try{
for(int i = 0; i < numberStrings.length; i++){
myFloats.add(new Float(numberStrings[i]));
}
} catch (NumberFormatException nfe){
//fail on any error
return null;
}
return myFloats;
}
В действительности, необходимо, вероятно, возвратить ошибку сюда вместо пустого указателя, и обычно мне не нравится иметь несколько возвратов, но Вы получаете идею.
, С другой стороны, если Вы хотите, чтобы он просто проигнорировал проблемы и проанализировал безотносительно Строк, это может, Вы поместили пробование/завоевывание популярность внутренней части цикла как это:
public static ArrayList parseAll2(String[] numberStrings){
ArrayList myFloats = new ArrayList();
for(int i = 0; i < numberStrings.length; i++){
try{
myFloats.add(new Float(numberStrings[i]));
} catch (NumberFormatException nfe){
//don't add just this one
}
}
return myFloats;
}
В Eclipse 3.5.1 перейдите в Help-> About Eclipse, затем нажмите «Сведения об установке». На вкладке «Установленное программное обеспечение» вы можете удалить функцию, на вкладке «История установки» вы можете вернуться к предыдущей конфигурации. Поскольку вы удалили детали вручную, может быть слишком поздно что-то исправлять.
Вы также можете проверить каталог функций и запустить Eclipse с параметром -clean, чтобы убедиться, что кэш пакетов OSGi очищен.
У меня была та же проблема, когда Eclipse даже больше не запускался. Я удалил все, что связано со Scala IDE, из каталогов plugins
и features
и запустил Eclipse с параметром -clean
:
./eclipse -clean