我無法弄清楚如何在程序運行時用字符串替換字符串。 這甚至可能嗎? 程序運行時,我想用另一個字代替一個單詞,然後繼續從該行運行。如何用另一個字符串替換字符串並將其插入到Java代碼中的下一行
我怎麼能這樣做? 感謝所有
hstring.replace("picstart", "up1");
g.drawPixmap(Assets.picstart , 128, 160);
我無法弄清楚如何在程序運行時用字符串替換字符串。 這甚至可能嗎? 程序運行時,我想用另一個字代替一個單詞,然後繼續從該行運行。如何用另一個字符串替換字符串並將其插入到Java代碼中的下一行
我怎麼能這樣做? 感謝所有
hstring.replace("picstart", "up1");
g.drawPixmap(Assets.picstart , 128, 160);
String
是不變的,這意味着你必須將結果分配給一個變量:
hstring = hstring.replace(...);
感謝downvoting。現在,是否有可能知道什麼是downvote? –
您的代碼會是這個樣子。
if (condition) {
g.drawPixmap(Assets.picstart , 128, 160);
} else {
g.drawPixmap(Assets.up1 , 128, 160);
}
請勿使用反射。假設你的資產代碼處理你的圖像或質感,或任何情況而定:
String hstring = "picstart";
// ... stuff happens
// that forces us to change hstring! ...
hstring = hstring.replace("up1"); // or you could just say hstring = "up1";
g.drawPixmap(Assets.getAssetFor(hstring), 128, 160);
然後在你的靜態資產類別,你可以有:
public PixelMap getAssetFor(String identifier) {
if (identifier.equals("picstart") {
return new PicStartPixelMap();
}
else if (identifier.equals("up1")) {
return new UpOnePixelMap();
}
}
即時消息我會嘗試getassetfor(hstring),也許這樣做 –
@WilliamMChildsIv你必須自己編程該功能。我不是在談論任何預先構建的方法。 – sdasdadas
爲什麼要讓hstring像這樣工作?>>>> g.drawPixmap(Assets.hstring,128,160); –
您需要更換一個常量與變量。 – dasblinkenlight
您無法在運行時修改您自己的源代碼。你究竟在做什麼?您可能需要使用反射。 –
您可以使用反射來按名稱查找字段,但這並不是一個好主意。 –