Java 基础面试300题 (231-260)

Java 基础面试300题 (231-260)

231 String::toUpperCase是什么类型的方法引用?

String::toUpperCase是任意方法引用的示例。它指的是String 类的toUpperCase方法,但不是指任何特定对象。 通常在遍历集合或流时使用。例如,假设想将列表的所有元素转换为大写。可以使用此String::toUppercase,如下所示:

List<String> colours = Arrays.asList(Red,Blue,Green);
List<String> upperCaseColours =
colours.stream().map(String::toUpperCase).collect(Collectors.toList());

232. 以下代码片段有什么问题?如何修复?

LocalDate date1 = LocalDate.of(2018, 7, 24);
LocalTime time1 = date1.atTime(5, 30);

上面的代码片段首先创建一个名为date1LocalDate,然后在date1上调用atTime()方法,并将结果分配给名为time1LocalTime对象,atTime()方法将当前时间对象中的日期与指定的时间相结合,返回一个LocalDateTime对象而不是LocalTime对象,因而上述代码会出现编译错误。按如下方式修改即可修复错误 :

LocalDateTime time1 = date1.atTime(5, 30);

233.有哪些方式创建LocalDate? 。

LocalDate类有几个静态方法用于创建LocalDate

LocalDate.now() 方法:该方法创建与当前日期对应的LocalDate ,如下代码所示:

LocalDate date1 = LocalDate.now();

LocalDate.of()方法: 该方法创建与指定年份、月份和日期相对应的LocalDate ,如下代码所示:

LocalDate date2 = LocalDate.of(2018, 7, 24);

LocalDate.parse()方法:该方法创建与字符串表示的日期对应的LocalDate可用于此,如下代码所示:

LocalDate date3 = LocalDate.parse(20140811);

234.如何检查一个日期是否在另一个日期之前?

LocalDate类有一个名为isBefore()的方法,可以用它来检查一个日期是否在另一个日期之前,如下代码所示:

LocalDate date1 = LocalDate.of(2018, 7, 24);
LocalDate date2 = LocalDate.parse(20140811);
boolean isBefore = date1.isBefore(date2);
System.out.println(“isBefore:”+isBefore);

上述代码创建两个日期对象,date1date2,在date1上以date2为参数调用isBefore()方法,由于date1date2之后,所以isBefore()方法返回false。因此代码输出如下:

isBefore:false

235. 解释ZonedDateTime类。

ZonedDateTime类表示日期和时间,该日期和时间也具有时区信息。因此,除了年、月、日、小时、分钟、秒和纳秒组件外,它还有一个ZoneId组件。ZoneIdjava.time.ZoneId的实例,表示时区。大约有40个时区可以通过ZoneID表示。下面代码显示了如何创建ZonedDateTime

ZoneId zoneId = ZoneId.of(Asia/Kolkata);
ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

上述代码片段首先创建一个与Asia/Kolkata对应的时区,也就是IST时区。然后,它创建一个ZonedDateTime,该时间与系统时钟的当前时间相对应,但具有此时区的ID。

236.以下代码片段的输出是什么?

LocalTime localTime = LocalTime.of(7, 15);
System.out.println(localTime.minusMinutes(30));

上述代码创建一个LocalTime实例。LocalTime表示具有小时、分钟、秒和纳秒成分的时间。在这里,创建一个对应于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值