[英]Referencing a java object using a string in a foreach loop
有什么方法可以使用for循環中字符串的實際“值”引用對象?
我會嘗試解釋一下(我對Java非常陌生!):
for(String provider:response.gO.providers)
{ System.out.println(response.gO.identities.{provider}.nickName);
}
在這里,我希望列表中提供者的每個值都替換{provider},以便它打印每個昵稱的值。
基本上,我有大量的提供程序列表,而我目前唯一知道的方法是對提供程序的每個值使用許多if語句,如下所示:
for(String provider:response.gO.providers){
if ("providerx".equalsIgnoreCase(provider)) System.out.println(response.gO.identities.providerx.nickName); if ("providery".equalsIgnoreCase(provider)) System.out.println(response.gO.identities.providery.nickName); }
等等
謝謝!
1)不,通常您不能在Java中執行此操作。
Java語法不允許這樣做。
在Java中,此元素
response.gO.identities.{provider}.nickName
{provider}
部分需要在編譯時知道。
您要延遲的是直到運行時才知道它。
所以這是不可能的。
2)您可以通過反射來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.