SORU
10 HAZİRAN 2010, PERŞEMBE


&; İddia" anahtar kelime " ne yapar?

assert ne yapar? İşlevi: örneğin

private static int charAt(String s, int d) {
    assert d >= 0 && d <= s.length();
    if (d == s.length()) return -1;
    return s.charAt(d);
}

CEVAP
10 HAZİRAN 2010, PERŞEMBE


Eğer -enableassertions ile VM sonra başlarsanız bu . Kısacası:

assert cond;

gibi davranır

if (!cond)
    throw new AssertionError();

Eğer -enableassertions olmadan VM başlatırsanız (iddia deyim hiç yürütülmez.)

Eğer söz konusu iddia çok assert d >= 0 && d <= s.length(); eşdeğerdir

if (!(d >= 0 && d <= s.length()))
    throw new AssertionError();

Eğer program başlatıldı (java -enableassertions YourProgram ile.)


Resmi olarak, Java Language Specification: 14.10. The assert Statement şunları söylüyor:

14.10 geçerli. assert DeyimBir onaylama assert deyimi bir boolean ifadeyi içeren. Bir iddiaya devre dışı ya da etkin. Eğer onaylama işlemi etkinleştirilmişse, onaylama, yürütme boolean ifadenin değerlendirilmesine neden olurbir hata bildirdieğer bu ifade 17 ** değerlendirilirse. Eğer onaylama işlemi devre dışı bırakılırsa, bu iddianın infaz hiçbir etkisi olmaz.

Nerede< . em ^"etkin veya devre dışı"-ea anahtarı ile kontrol edilir"Bir hata bildirdi"AssertionError atılır bir araç bu.


Ve son olarak, assert daha az bilinen bir özelliği

Bu gibi : "Error message" ekleyebilirsiniz:

assert d != null : "d is null";

atılan AssertionError hata iletisi ne olması gerektiğini belirtmek için.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Breno Rises

    Breno Rises

    7 Ocak 2014
  • Lena Danya

    Lena Danya

    11 NİSAN 2010
  • pain975

    pain975

    27 NİSAN 2008