Java 为什么gregorianalendar.get()需要这些数字?

Java 为什么gregorianalendar.get()需要这些数字?,java,Java,我从一个朋友那里得到了一些打印当前日期和时间的代码,我不懂其中一些代码,有人能解释一下吗 import java.util.GregorianCalendar; public class lab { public static void main(final String[] array) { final GregorianCalendar gregorianCalendar = new GregorianCalendar(); final int value = gr

我从一个朋友那里得到了一些打印当前日期和时间的代码,我不懂其中一些代码,有人能解释一下吗

import java.util.GregorianCalendar;


public class lab
{
 public static void main(final String[] array) {
     final GregorianCalendar gregorianCalendar = new GregorianCalendar();
     final int value = gregorianCalendar.get(5);
     final int value2 = gregorianCalendar.get(2);
     final int value3 = gregorianCalendar.get(1);
     final int value4 = gregorianCalendar.get(13);
     final int value5 = gregorianCalendar.get(12);
     final int value6 = gregorianCalendar.get(10);
     System.out.println("Current date is  " + value + "/" + (value2 + 1) + "/" + value3);
     System.out.println("Current time is  " + value6 + " : " + value5 + " : " + value4);
 }
}

我不明白为什么所有的gregorianalendar.get函数中都有相应的数字?我已经更改了数字,以查看它们的原因,并得到随机结果,所以我不明白它们的意思。

这些是常数,定义为。将其用于反向查找。通常不使用整数值,而是使用常量名称

get(5)
表示
get(月日)
get(2)
表示
get(月)
。常量的可读性要高得多,我不知道为什么有人会以您收到的方式编写代码。可能是反编译的


我强烈建议不要使用旧的
java.util.Calendar
api,请使用java8+的
java.time
api。

无论如何,您不应该使用过时的日历api。改用
java.time
包。阅读文档怎么样@卡亚曼,我该如何实现?我刚开始学习java。@JainamShah然后开始学习,你们不需要猜东西,也不需要相信“来自朋友的代码”,你们会得到最新的信息。