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