A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© qq563426478 中级黑马   /  2015-3-2 18:40  /  869 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问为什么2个表达式一个等于2一个等于3呢?
求大神详解。

import java.util.*;
import java.text.*;

class Run
{
public static void main(String [] args)
{
Calendar c = Calendar.getInstance();

sop("c.get(Calendar.MONTH)="+c.get(Calendar.MONTH));//为何等于3?
sop("Calendar.MONTH="+Calendar.MONTH);//为何等于2?

}
public static void sop(Object obj)
{
System.out.println(obj);
}
}

输出结果:
c.get(Calendar.MONTH)=3
Calendar.MONTH=2

1 个回复

倒序浏览
c.get(Calendar.MONTH)
你可以理解为本地化了
根据API文档
public static final int MONTH
指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
以此类推3月,MONTH=2
get方法就是用你本地的日历系统来换算(中国有0月这个概念吗)
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马