2016-11-26 16 views
1

"cadena.toString()"を文字列の値で変更して最後の行を実行します。Stringに格納された関数を実行します。 Java

Map<String, String> config = new HashMap<String, String>(); 
    JsonBuilderFactory factory = Json.createBuilderFactory(config); 

    JsonObject value = null ; 
    StringBuffer cadena = new StringBuffer(""); 

    for(Friendship f: listFriends){ 
      cadena.append(".add(\"From: "+f.getUser_from().getLogin()+"\",\"To: "+ f.getUser_to().getLogin()+"\")"); 
    } 

    value = factory.createObjectBuilder().cadena.toString().build(); 

可能でしょうか?

貧しい私の英語のために、すごく感謝しています。

+0

いいえ。本当に可能ではありません。 http://stackoverflow.com/a/27396372/2308683 –

+0

よろしくお願い致します。 – Aniru

答えて

1

いいえ、最初の手がかりはfactory.createObjectBuilder().cadena(おそらく)もコンパイルされないことです。

なぜこのようなことはできませんか?

(注:factory.createObjectBuilder()戻り値の正しいオブジェクト・タイプでBuilderを置き換える)

Builder b = factory.createObjectBuilder(); 
for(Friendship f: listFriends){ 
     b.add("From: "+f.getUser_from().getLogin()+", To: "+ f.getUser_to().getLogin()); 
} 
value = b.build(); 
+0

はい、しかし...どこで "Builder"を気にしますか? http://imgur.com/a/wN1BX – Aniru

+0

この 'createObjectBuilder'が返すものは何でもわかりません。このコードはコピーして貼り付けることを意図していませんでした。代わりにあなたが使いたいと思っているものの一例 –

関連する問題