嘿,所以我的情况是这样的 - 我有2个功能完全相同,但主要动作是不同的:
public static void Set(String key, String value) {
ObjectNode config = GetConfig();
config.put(key,value);
WriteConfig(config);
}
public static void Delete(String key) {
ObjectNode config = GetConfig();
config.delete(key);
WriteConfig(config);
}
现在我很兴奋,如果有一些方法我可以使这个代码漂亮,只需要编写一次代码并以某种方式发送主动作。
任何帮助表示赞赏! :)
答案 0 :(得分:3)
如果您使用的是Java 8,那么您可以执行以下操作。首先,您创建一般command
函数:
public static void command(Consumer<ObjectNode> function) {
ObjectNode config = getConfig();
function.accept(config);
writeConfig(config);
}
然后,您可以让其他方法使用常规command
,将中间主操作指定为参数:
public static void set(String key, String value) {
command(config -> config.put(key, value));
}
public static void delete(String key) {
command(config -> config.delete(key));
}