Java 杂谈程序员Java交流

Java面试题之JavaSE 常用 API

2018-05-19  本文已影响18人  周小鑫001

1.Math.round(11.5)等于多少?Math.round(- 11.5) 又等于多少?

分别是12和11,你可以在原来的数上加上0.5后,直接却得整数位就可以,不需要再考虑小数位            

2.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?          

   这里我们实在jdk1.7的环境下进行解答,在jdk1.7中,switch可以使用byte,short,int,enum,char还有String

3. 数组有没有length() 方法?String有没有length() 方法

   数组中有length属性,没有方法,String有length()方法,在javascript中获取字符串的长度用的是length属性

4. String 、StringBuilder 、StringBuffer的区别?

String是只读字符串。StringBuilder/StringBuffer是可修还字符串,StringBuilder是jdk1.5引入的,和StringBuffer 的区别是,StringBuilder是线程安全的,因为他的方法都被synchronized修饰

5. 什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder 对象的append方法连接字符串性能更好?

            这是一道华为的面试题,由于需要根据源码进行解释,下一篇专门讲解一下

6.Java中的日期和时间,这里我们主要接收jdk1.8中的一套全新的日期API

            6.1 如何取得年月日、小时分钟秒?

                    LocalDateTime dt = LocalDateTime.now();//这个是来获取当前日期时间对象,

                    dt.getYear ()获取年份

                    dt.getMonthValue()//获取月份  1-12

                    dt.gtDayofMpnth()//获取日期,月份的

                    dt.getHour()//获取小时

                    dt.getMinute()//获取分钟

                    dt.getSecond();//获取秒

                6.2 如何格式化日期?

                     DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd"); 

                     LocalDate date2 = LocalDate.now(); 

   7.Java 8日期/时间API包解释

 java.time包:这是新的Java日期/时间API的基础包,所有的主要基础类都是这个包的一部分,如:LocalDate,

LocalTime, LocalDateTime, Instant, Period, Duration等等。所有这些类都是不可变的和线程安全的,在绝大多

数情况下,这些类能够有效地处理一些公共的需求。

 java.time.chrono 包:这个包为非 ISO 的日历系统定义了一些泛化的 API,我们可以扩展 AbstractChronology

类来创建自己的日历系统。

 java.time.format 包:这个包包含能够格式化和解析日期时间对象的类,在绝大多数情况下,我们不应该直接使

用它们,因为java.time包中相应的类已经提供了格式化和解析的方法。

 java.time.temporal包:这个包包含一些时态对象,我们可以用其找出关于日期/时间对象的某个特定日期或时间,

比如说,可以找到某月的第一天或最后一天。你可以非常容易地认出这些方法,因为它们都具有“withXXX”的格

式。

 java.time.zone包:这个包包含支持不同时区以及相关规则的类。

8.新旧时间API使用的对比

上一篇下一篇

猜你喜欢

热点阅读