簡體   English   中英

在foreach循環中使用字符串引用Java對象

[英]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)您可以通過反射來實現。

Java反射

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM