假设SimpleDateFormat对象sdf的格式化模式为"yyyyMMddHHmmssSSS",并且程序在同一毫秒内连续调用sdf.format(new Date())两次,分别得到字符串str1和str2。下列关于str1和str2的描述,哪个选项最准确?

答案解析

选项B正确。尽管SimpleDateFormat的格式化模式精确到毫秒,但两个连续调用sdf.format(new Date())时,如果系统时钟精度不足以区分毫秒级的差异,或者两次调用发生在同一毫秒内,那么由new Date()创建的Date对象所表示的时间戳可能相同,从而导致format方法返回相同的字符串。选项A错误,虽然格式精确到毫秒,但系统时钟精度和调用间隔时间可能导致毫秒级时间戳相等。选项C错误,Date对象是否相同与最终format返回结果没有直接关系,只有Date对象的时间戳相同,format返回的字符串才会相同。选项D错误,SimpleDateFormat没有使用缓存的机制,是否返回相同结果取决于Date对象的时间戳是否相同。
正确答案:B
随机推荐
开始刷题