2012-11-16 30 views
0

如果我打電話我可以得到...參數變量嗎?我想使MyLog(字符串格式,對象參數... args)

String name = "Chang"; 
int id = 1; 
boolean isChecked = false; 

MyLog.d(__FORMAT__, name, id, isChecked); 

MyLog.java

public static d(String foramt, Object... args) { 
    Log.d(___TAG___, String.format(format, args)); 
} 

我能得到的arg值。 「張」,1,虛假。

但我不知道arg變量(?),「name」,「id」,「isChecked」。

我想記錄

name: Chang 
id: 1 
isChecked:false 

我可以得到 「名」, 「ID」, 「器isChecked」?

對不起差Enlgish ...

+0

你在尋找類似於主要方法的參數嗎?你可能會讓一個通用的數組列表被傳入該方法嗎?或者一個對象數組? PS:在我看來,你的英文很好,沒必要說抱歉。 –

回答

1

在java中,可變參數的參數可以像陣列被引用。例如,你可以這樣寫:

System.out.println(args[0]); 

如果你問如何獲取傳入變量的名字,那是不可能的。最好是做一個類調用Person,然後重新聲明這樣的方法:

public static d(String foramt, Person... args) { 
    for(Person p:args){ 
     //get the values of each object here and log them 
    } 
} 
+0

哦謝謝〜!我想要的是不可能的......我確實開發了iOs(Obj-C)。在Obj-C中,這是可能的。現在我開發Android,所以我認爲這也是可能的。 – ChangUZ

相關問題