java通用集合函数

标签 java class set universal

我在想如何为所有字段实现设置功能,就像在 Calendar 类中一样。

public class Test
{
    int a,b;

// constructor, etc

    set(int field, int value)
    {
    //--
    }
}


//========
Test t = new Test();
t.set(Test.a, 5);

body 应该是什么样子?

最佳答案

只需为 field 定义一个具有可能值的 enum,然后执行相应的操作:

public enum Field {
    MONTH, DAY, YEAR;
}


public void set(Field field, int value) {
    switch(field) {
    case MONTH:
        // use value to add months
    break;
    case YEAR:
        // use value to add years
    break;
    case DAY:
        // use value to add days
    break;
    }
} 

您还可以为您的枚举定义一个 Map 并定义一个查找,如 this answer

更新

Where I can fing Calendar code?

GrepCode你会找到你需要的任何版本

关于java通用集合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32139482/

相关文章:

java - 无法找到 tools.jar

java - 比 JFrame 更大的可拖动组件(每侧都有不可见滚动条的 JScrollPane)

java - 在 Spring-boot 中设置默认 Activity 配置文件

c++ - 为什么将 const (...)& 放在 C++ 中

c++ - 函数返回结构体指针

java - Websphere JAVA_DUMP_OPTS 条件捕获的所有事件有哪些?

java - Set.removeAll() 在 : equals or compareTo? 下面使用了哪个方法

python - 操作字典中的集合

javascript - 检查集合是否有二维数组

C++ - 从 valgrind 中删除无效