目前,我使用如下代码段:

private void updateWidth() {
    rowWidth=new int[]{
            font.getWidth(MainClass.getMain().lang().getString("start"), 120)+20,
            font.getWidth(MainClass.getMain().lang().getString("name")+": "+name+"I", 120)+20,
            font.getWidth(MainClass.getMain().lang().getString("currentHigh"), 120)+20,
            font.getWidth(MainClass.getMain().lang().getString("back"), 120)+20
    };

}


但是个人而言,我真的不喜欢第2行。在我经常更新值的地方,创建一个新对象。
这真的好吗,还是我缺少一些明显的解决方案?

最佳答案

假设不能静态构造同一密钥(例如,由于name来自某种配置信息),则创建代表该密钥的临时对象就可以了。

您可以通过创建一个实用程序方法来封装一些逻辑来减少声明:

private static int getWidth(String key) {
    return font.getWidth(MainClass.getMain().lang().getString(key), 120)+20;
}


现在,您的数组可以如下初始化:

rowWidth=new int[]{
    getWidth("start")
,   getWidth("name" + ": " + name + "I")
,   getWidth("currentHigh")
,   getWidth("back")
};

关于java - Java数组更改内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44141648/

10-10 04:27