2016-03-21 20 views
1

Geçirilmiş bir parametre adı nasıl alabilirim, yani çalışma zamanında geçirildiği ad? ÖrneğinJava'da parametre adı alındı ​​mı?

:

int mParam = 10; 

public void func (int myParam){ 
//print wanted name 
} 

func(mParam); 

Aranıyor çıkışı:

mParam 

yansıma kullanarak, başardı:

myParam 
+0

Java 8 çözümü için yinelenen soruda aşağı doğru kaydırın. – rgettman

+2

@rgettman OP'nin bir parametre adı istediğini sanmıyorum, bence bir * alan * adı (parametre olarak geçilir). Tamamen açık değil. Belirtilen çıktının, örneklerinde * bir * parametre adı olmadığına dikkat edin. –

+0

@PaulBoddington Evet, açık değildi. Ancak istenen çıktı "mParam" değil, "myParam" değil, un-dup olacak. (Zaten un-duped.) – rgettman

cevap

0

ben java da mümkün olmadığını düşünüyorum. Java parametreyi geçmek için geçiş değerini kullandığı için. Bu nedenle, parametreyi func() öğesine ilettiğinizde, sadece değişkenin değerini başka hiçbir şeyden geçirmez.

size bu soruyu Can I obtain method parameter name using Java reflection?

kontrol edebilirsiniz çağıran fonksiyonun parametre detaylarını bilmek istiyorum ama java.If içinde reflect.parameter paketini kullanarak fonksiyonu ile tanımlanan parametresi hakkında bilmek mümkündür sen geçirilen parametrenin adını bilemez. Bir parametre olarak bir harita geçmek daha iyisi

public void func (int myParam, String myParamName){ 
//print wanted name 
} 

Veya:

-1

Aşağıdaki gibi 2 params almak için yöntem fonk değiştirebilir

public void func (Map<String, Integer> map){ 
//print wanted name 
} 

adlandırılmış tamsayılar geçebilir Bu şekilde ve tamsayılarınızı yönteminize ekleyin

İlgili konular