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

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • Justin Davis

    Justin Davis

    14 Ocak 2008