我是靠谱客的博主 文静柜子,最近开发中收集的这篇文章主要介绍阿里巴巴JAVA代码规范三【考题】 试题分析试题分析试题分析 试题分析试题分析试题分析 试题分析试题分析试题分析试题分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 试题分析

A中第4行代码会导致NPE;

B中第3行代码始终会返回true;

D中第三行的contains方法实际调用的是containsValue方法,而非查找键值。

试题分析

“Y”用于时间格式化时,表示当前时刻对应的星期所在的年份,即week-year,通常需要表示当前时刻对应的自然年时,应当使用“y”;

“D”用于时间格式化时,表示当前时刻在所在自然年中的日期数,即当前日期是本年度的第几天,通常需要表示当前时刻在所在的自然月对应的日期时,应当使用“d”;

“hh”用于表示当前时刻对应的小时数,但是以12小时制表示,若需要使用24小时制表示,应当使用“HH”。

试题分析

Integer类的缓存机制取决于具体JVM的实现,并非所有实现均缓存(-128, 128)范围的值,因此使用“==”比较包装类的行为是未知的,应当使用equals方法替代。

 试题分析

java.util.Map的get方法接受的参数类型为Object,这意味着即使传入了完全不匹配的类型,也只会返回null而不会抛出异常。因此在使用get方法时要留意传入的类型是否匹配以避免潜在的错误。

 

试题分析

粘贴三个场景对应的使用手册

试题分析

A选项中的REGEX_PATTERN应当预处理为Pattern类,避免每次调用都要构建匹配树;B选项在方法中使用了双大括号初始化创建了额外的临时类,导致性能损失;C选项构建了一个Date类实例来获取时间戳,造成无谓的性能损失,应当直接使用System.currentTimeMillis()方法获取;D选项使用try-with-resource语法,不存在性能问题。

 试题分析

java.lang.Math.random()返回的随机浮点数范围在0.0~1.0之间,对其取整返回的结果始终为0.

试题分析

可参见《Effective Java》及Java的Object类中equals方法的注释,重写equals方法需要满足上述所有要求。

试题分析

由于finally块中的代码始终会执行,因此finally块中的return语句会覆盖正常的return语句返回。

 

试题分析

在进行整数乘法时,需要时刻留意计算过程的中间值是否超出了当前类型的表示范围,int及其包装类的表示范围为-2147483648~2147483647,约为10的9次方,long及其包装类的表示范围为-9223372036854775808~9223372036854775807,约为10的18次方,超出long表示范围的整数,应当用BigInteger表示。 在上述代码中,虽然在第11行我们使用了Long.valueOf方法将结果转换为Long类型,但运算“10 * 365 * 24 * 60 * 60 * 1000”的中间类型为int,已经超出了Java默认整数类型int能表示的范围,导致结果溢出。我们期望的计算结果应当为“315360000000”,而由于溢出导致最终得到的结果为“1827387392”,使得Cookie的有效时间从原来的大约10年缩短为约21天。此外,Java中进行时间相关运算时建议通过java.time包下的类,而非手动进行计算。

最后

以上就是文静柜子为你收集整理的阿里巴巴JAVA代码规范三【考题】 试题分析试题分析试题分析 试题分析试题分析试题分析 试题分析试题分析试题分析试题分析的全部内容,希望文章能够帮你解决阿里巴巴JAVA代码规范三【考题】 试题分析试题分析试题分析 试题分析试题分析试题分析 试题分析试题分析试题分析试题分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部