SORU
26 EYLÜL 2008, Cuma


Deneyin...yakalamak veya bir döngü içinde ve dışında?

Bu gibi bir döngü var:

for (int i = 0; i < max; i  ) {
    String myString = ...;
    float myNum = Float.parseFloat(myString);
    myFloats[i] = myNum;
}

Bu yüzen bir dizi dönmek için olan bir yöntem ana içeriği. Bu yöntem, eğer bir hata varsa null iade etmek istiyorum, bu gibi try...catch bir blok içinde: döngü koydum

try {
    for (int i = 0; i < max; i  ) {
        String myString = ...;
        float myNum = Float.parseFloat(myString);
        myFloats[i] = myNum;
    }
} catch (NumberFormatException ex) {
    return null;
}

Ama sonra ben de bu döngü içinde try...catch blok koymayı bile düşündüm

for (int i = 0; i < max; i  ) {
    String myString = ...;
    try {
        float myNum = Float.parseFloat(myString);
    } catch (NumberFormatException ex) {
        return null;
    }
    myFloats[i] = myNum;
}

Herhangi bir nedenle, performans ya da başka bir tercih var mı?


Düzenleme:Uzlaşma deneyin/döngünün içinde yakalamak koymak için daha temiz olduğu için, muhtemelen kendi yöntemi içinde görünüyor. Ancak, yine de daha hızlı olduğu konusunda tartışmalar vardır. Birileri bu sınav ve birleşik bir cevap ile gelebilir mi?

CEVAP
26 EYLÜL 2008, Cuma


PERFORMANS:

Try/catch yapıları yerleştirildiği kesinlikle fark yok performans var. DAHİLİ olarak, bu yöntem çağrıldığında oluşturulan bir yapı içinde kod menzilli bir tablo olarak uygulanır. Yöntem yürütülürken, try/catch yapıları oluşur atmak sürece resmin dışında tamamen, daha sonra hata masa karşılaştırılır.

Burada bir referans: http://www.javaworld.com/javaworld/jw-01-1997/jw-01-hood.html

Tablo yarı yolda aşağı hakkında tarif edilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • After Effects Tutorials w/ Mikey

    After Effect

    24 HAZİRAN 2009
  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011