SORU
26 EKİM 2010, Salı


Tek boş tartışma çağrısı Java varargs yöntemi?

Eğer sırasında Java bir yöntem varsa foo(Object ...arg) ve foo(null, null), arg[0] arg[1] İ de var nulls olarak arayın. Ama eğer foo(null), arg ararsam boş kendisidir. Neden böyle oluyor?

Nasıl foo foo.length == 1 && foo[0] == null true böyle mi demeliyim?

CEVAP
26 EKİM 2010, Salı


Sorun edebi null kullandığınızda, Java olması gerekiyordu ne olduğunu bilmiyor. Boş bir Nesne olabilir, bir Nesne veya null bir dizi olabilir. Tek bir değişken için ikinci varsayar.

İki seçeneğiniz var. Boş açıkça veya yöntem türü kesin belirlenmiş bir değişken kullanarak Nesne aramak için dökme. Aşağıdaki örneğe bakın:

public class Temp{
   public static void main(String[] args){
      foo("a", "b", "c");
      foo(null, null);
      foo((Object)null);
      Object bar = null;
      foo(bar);
   }

   private static void foo(Object...args) {
      System.out.println("foo called, args: "   asList(args));
   }
}

Çıkış:

foo called, args: [a, b, c]
foo called, args: [null, null]
foo called, args: [null]
foo called, args: [null]

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • Thom Hall

    Thom Hall

    24 Kasım 2006