2012-11-09 21 views
5

Java için yeniyim ve bu, belirli bir dizi öğeyi kabul eden çeşitli işlevlerle karşılaştım (ör. int[]). Bununla birlikte, sadece bir tane int geçirmem gereken durumlar var ve bunu inline nasıl yapacağımı merak ediyordum (örneğin, önce bir dizi değişkenini tanımlamadan).Tek Element Dizisi Satır İçi Geçiyor

Örneğin, bu nasıl basitleştirmek için:

gibi bir şey için
int[] pidArray = { mySinglePID }; 
am.getProcessMemoryInfo(pidArray); // This one accepts arrays only 

(yapılmış, bu şekilde çalışmıyor):

am.getProcessMemoryInfo([mySinglePID]); 

cevap

8

Sadece kodu için Anonim Diziyi kullanın:

am.getProcessMemoryInfo(new int[]{mySinglePID }); // This one accepts arrays only 

Anonim Diziyi: java olarak aşağıdaki sözdizimini kullanarak anonim bir dizi oluşturmak için tümüyle yasaldır.

Aslında
new <type>[] { <list of values>}; 
6

int[] pidArray = new int[]{ mySinglePID }; 
am.getProcessMemoryInfo(pidArray); 

Oneliner deneyin

am.getProcessMemoryInfo(new int[]{mySinglePID }); 
+0

tam 30 o çözdü çalışmıyor soruyu gönderdikten saniye. Yardımlarınız için teşekür ederim. –

+0

@ ColorWP.com Hoşgeldiniz :) – PermGenError

+0

Aslında, ilk örneğiniz OP'de yayınlanan ile aynı. Yerleştirmeyi kullanırken, yeni int [] 'i kullanmanız gerekmez. OP'nin ihtiyaç duyduğu şey ikinci. –

4

Böyle yapabilirsiniz: -

am.getProcessMemoryInfo(new int[]{ mySinglePID }); 

Yani, burada dizi değişkeni bildirmek gerekmez. Sadece bir adsızarray nesnesini geçirin.

2

yapmak istediğiniz: Eğer bölerseniz

am.getProcessMemoryInfo(new int[] { mySinglePID }); 

Eğer sadece bildiriminde new int[] atlayabilirsiniz, bu sözdizimi

// NOT WORKING EXAMPLE 
int[] pidArray; 
pidArray = { mySinglePID };