SORU
22 Mart 2011, Salı


Dizi başlatma bildiriminde değilken sözdizimi

Yazabilirim:

AClass[] array = {object1, object2}

Ayrıca yazabilirim:

AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2;

ama yazamıyorum:

AClass[] array;
...
array = {object1, object2};

Neden bu Java tarafından engellendi mi?

Bu geçici bir çözüm bulmak için nasıl biliyorum, ama zaman zaman daha basit olurdu.

Örneğin:

public void selectedPointsToMove(cpVect coord) {

    if (tab == null) {
        if (arePointsClose(coord, point1, 10)) {
            cpVect[] tempTab = {point1};
            tab = tempTab;
        } else if (arePointsClose(point2, coord, 10)) {
            cpVect[] tempTab = {point2};
            tab = tempTab;
        } else {
            cpVect[] tempTab = {point1,point2};
            tab = tempTab;
        }
    }
}

Ben beri beni rahatsız ediyordu bu basit bir soru Java dizide oynamak için nasıl öğrendi.

CEVAP
22 Mart 2011, Salı


Neden bu Java tarafından engellendi mi?

Java tasarımcıları sormanız gerekiyor. Kısıtlama için bazı ince gramer sebep olabilir. Java değildi / dizi yaratılış bazı 1.0, ve (IIRC) Java 1.1 eklenen not.

"Neden" manevi ... kısıtlama yok ve bununla yaşamak zorundasın. ama

Bu geçici bir çözüm bulmak için nasıl biliyorum, ama zaman zaman daha basit olurdu.

Bu yazabilirsiniz:

AClass[] array;
...
array = new AClass[]{object1, object2};

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • hans peder sahl

    hans peder s

    22 Temmuz 2009