能不能获取到java.util.calendar的源码

问题描述

我们都知道这个被封装起来了,sun只提供了接口,但是我不知道是不是开源,网上搜没搜到。我最近在做android的日历,android下的一些获取日期的接口【如getDayAt(introw,intcolumn)】会用到java.util.calendar里面的get(intfield)方法,但是我不太明白其中的参数的意思【如calendar.get(7)】。java的docs里是这样解释的:get(intfield)返回给定日历字段的值。在lenient模式下,所有日历字段都被标准化。在non-lenient模式下,所有日历字段都是经过验证的,如果任何日历字段有超出范围的值,则此方法抛出一个异常。标准化和验证都是通过#complete()方法处理的,这个过程与日历系统有关。field给定的日历字段。return给定日历字段的值。ThrowsArrayIndexOutOfBoundsException:zh_cn如果指定字段超出范围(field<0||field>=FIELD_COUNT)。Seealsoset(int,int),complete()PS:我知道field是YEARMONTH这些日期,但是我想知道get(7)具体是代表什么,我估计是一个数组,只是被封装起来了,所以想问问大家看看能不能有底层的代码可以看看。

解决方案

解决方案二:
这个源码最好是到oracle官方网站下一个,放本机上,随时都能看,很方便
解决方案三:
unzip-p$JAVA_HOME/src.zipjava/util/Calendar.java
解决方案四:
unzip-p$JAVA_HOME/src.zipjava/util/Calendar.java|grep"publicfinalstaticint"publicfinalstaticintERA=0;publicfinalstaticintYEAR=1;publicfinalstaticintMONTH=2;publicfinalstaticintWEEK_OF_YEAR=3;publicfinalstaticintWEEK_OF_MONTH=4;publicfinalstaticintDATE=5;publicfinalstaticintDAY_OF_MONTH=5;publicfinalstaticintDAY_OF_YEAR=6;publicfinalstaticintDAY_OF_WEEK=7;publicfinalstaticintDAY_OF_WEEK_IN_MONTH=8;publicfinalstaticintAM_PM=9;publicfinalstaticintHOUR=10;publicfinalstaticintHOUR_OF_DAY=11;publicfinalstaticintMINUTE=12;publicfinalstaticintSECOND=13;publicfinalstaticintMILLISECOND=14;publicfinalstaticintZONE_OFFSET=15;publicfinalstaticintDST_OFFSET=16;publicfinalstaticintFIELD_COUNT=17;publicfinalstaticintSUNDAY=1;publicfinalstaticintMONDAY=2;publicfinalstaticintTUESDAY=3;publicfinalstaticintWEDNESDAY=4;publicfinalstaticintTHURSDAY=5;publicfinalstaticintFRIDAY=6;publicfinalstaticintSATURDAY=7;publicfinalstaticintJANUARY=0;publicfinalstaticintFEBRUARY=1;publicfinalstaticintMARCH=2;publicfinalstaticintAPRIL=3;publicfinalstaticintMAY=4;publicfinalstaticintJUNE=5;publicfinalstaticintJULY=6;publicfinalstaticintAUGUST=7;publicfinalstaticintSEPTEMBER=8;publicfinalstaticintOCTOBER=9;publicfinalstaticintNOVEMBER=10;publicfinalstaticintDECEMBER=11;publicfinalstaticintUNDECIMBER=12;publicfinalstaticintAM=0;publicfinalstaticintPM=1;

解决方案五:
不知道是谁告诉你这个类的源码被封起来看不了?你的jdk中的src.zip不是静静的躺在那里吗?

时间: 2024-12-23 18:19:39

能不能获取到java.util.calendar的源码的相关文章

java.util.concurrent包源码阅读(二) java.util.concurrent.atomic包

Aomic数据类型有四种类型:AomicBoolean, AomicInteger, AomicLong, 和AomicReferrence(针对Object的)以及它们的数组类型, 还有一个特殊的AomicStampedReferrence,它不是AomicReferrence的子类,而是利用AomicReferrence实现的一个储存引用和Integer组的扩展类 首先,所有原子操作都是依赖于sun.misc.Unsafe这个类,这个类底层是由C++实现的,利用指针来实现数据操作 关于CAS

java.util.concurrent包源码阅读(一) 源码包的结构

准备花点时间阅读一下java.util.concurrent这个包里面的java代码,大致看了一下,这个包我个人觉得大致可以分为五个部分(如有不对之处,还望指正) 第一部分 Aomic数据类型 这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的数组类型. 第二部分 锁 这部分都被放在java.util.concurrent.lock这个包

java.util.Timer分析源码了解原理

  Timer中最主要由三个部分组成: 任务 TimerTask .  任务队列: TaskQueue queue 和 任务调试者:TimerThread thread 他们之间的关系可以通过下面图示: 在这个图中,可以清楚地看到这Timer本身及其和这三个部分的关系: 1. Timer可以看作是面向开发人员的一个"接口" 2. 所有向Timer添加的任务都会被放入一个TaskQueue类型的任务队列中去.(如何安排任务优先级顺序下文会讲) 3. 任务调度由TimerThread负责

Java Date Time 教程-java.util.Calendar和GregorianCalendar

目录 实例化GregorianCalendar 获取年.月.日等 增加和减少年.月.日等 陷阱和误区 月份的陷阱 星期几的误区 JavaDoc中的更多细节 Java的java.util.Calendar用于日期和时间的运算.无论任何时候,只要你有一些轻微操作(除了仅仅表示日期和时间)需要执行,那么就使用这个类.(原文:Whenever you have something slightly more advanced than just representing a date and time,

Java日期时间 java.util.Calendar和GregorianCalendar分析

Java的java.util.Calendar用于日期和时间的运算.无论任何时候,只要你有一些轻微操作(除了仅仅表示日期和时间)需要执行,那么就使用这个类.(原文:Whenever you have something slightly more advanced than just representing a date and time, this is the class to use.) java.util.Calendar类是抽象的,意味着你不能对其进行实例化.这么设计的原因是这个世界

使用java.util.Calendar返回间隔天数

calendar 使用SimpleDateFormat,规定好格式,parser出错即为非法/** * Calculates the number of days between two calendar days in a manner * which is independent of the Calendar type used. * * @param d1    The first date. * @param d2    The second date. * * @return    

关于【java.util.Calendar】类的一些问题

问题描述 上图是对intjava.util.GregorianCalendar.getActualMinimum(intfield)intjava.util.GregorianCalendar.getActualMaximum(intfield)方法的各个取值的一个统计为什么WEEK_OF_YEAR最小值是1而WEEK_OF_MONTH最小值是0呢?二楼上统计程序代码 解决方案 解决方案二:packagemh_net.kingsoft;importjava.util.Calendar;impor

Java+Mysql学生管理系统源码_java

最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多.  开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com  此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改.开发步骤: 

Java IO 之 OutputStream源码

Writer      :李强强   一.前言 上一篇<Java IO 之 InputStream源码>,说了InputStream.JDK1.0中就有了这传统的IO字节流,也就是 InputStream 和 OutputStream.梳理下两者的核心: InputStream中有几个 read() 方法和 OutputStream中有几个 write() 方法.它们是一一对应的,而核心的是read()和write()方法.它们都没实现,所有本质调用是各自实现类实现的该两个方法. read()