Я всегда думал, что использование «если» намного лучше (с точки зрения производительности), чем ловить исключение. Например, делая это:
User u = Users.getUser("Michael Jordan");
if(u!=null)
System.out.println(u.getAge());
против
User u = Users.getUser("Michael Jordan");
try{
System.out.println(u.getAge());
}catch(Exception e){
//Do something with the exception
}
Если мы оценим это, то совершенно очевидно, что первый фрагмент быстрее второго. Это то, что я всегда думал.
Но вчера парень сказал мне что-то вроде этого:
Вы когда-нибудь задумывались о том, что происходит?
в тысячах казней вашего
программы? Каждый раз твое исполнение
проходит через "если" у вас немного
(очень мало, но все же что-то)
стоимость исполнения. За исключением этого
не бывает Потому что это могло
никогда не возникает.
Чтобы было ясно: тысячи раз выполнялся "if" против одного исключения исключений.
Я думаю, что это имеет смысл, но у меня нет никаких доказательств.
Вы можете мне помочь?
Спасибо !!