Java 我试图把jodaTime中的一些方法作为常量

Java 我试图把jodaTime中的一些方法作为常量,java,constants,jodatime,Java,Constants,Jodatime,我试图把jodaTime中的一些方法作为常量。方法如下: jodaTime.getMonthOfYear() jodaTime.getDayOfMonth() jodaTime.getYearOfCentury() 我搜索了包和类,但找不到访问这些方法的方法 我想知道如何访问这些方法以将它们放入常量中,例如公共静态最终对象DAY_OF_MONTH=org.joda.time…所以您试图存储应用程序启动时间的年、月和日?我想不出这种代码还有什么其他用途。实现简单;下面是一些伪代码: class

我试图把jodaTime中的一些方法作为常量。方法如下:

jodaTime.getMonthOfYear()
jodaTime.getDayOfMonth()
jodaTime.getYearOfCentury()
我搜索了包和类,但找不到访问这些方法的方法


我想知道如何访问这些方法以将它们放入常量中,例如公共静态最终对象DAY_OF_MONTH=org.joda.time…

所以您试图存储应用程序启动时间的年、月和日?我想不出这种代码还有什么其他用途。实现简单;下面是一些伪代码:

class MyClass {
    static final Object DAY_OF_MONTH;
    static {
        DateTime now = DateTime.now();
        DAY_OF_MONTH = now.getDayOfMonth();
    }
}
如果您想引用这些方法本身,可以使用lambdas来实现以下内容:

class MyClass {
    static final Supplier<Integer> DAY_OF_MONTH;
    static {
        DateTime now = DateTime.now();
        DAY_OF_MONTH = now::getDayOfMonth;
    }
}
假设您已经定义了月的日和年的日,您可以将它们作为lambdas传入:

Map<Integer, Runnable> commands = new HashMap<>();
commands.put(DAY_OF_MONTH, () -> jodaTime.getDayOfMonth());
commands.put(DAY_OF_YEAR, () -> jodaTime.getDayOfYear());

您可以在地图中保存方法并使用反射


Map Map=new HashMap

您已经发布了很多代码,但没有明确说明您正在尝试做什么,或者目前发生了什么。请将此简化为a,以明确问题所在。花点时间格式化你的代码,最好将变量名等翻译成英语,因为这是一个英语网站-你能做的越多,使你的问题更容易阅读,就越好。我更新了question@JonSkeetA方法不能存储在常量中。你想实现什么?现在基本上没有代码了-那还不是一个,是吗?请阅读