我有一个Option<Object>,我正试图从中获取长价。但这是行不通的。我尝试了以下步骤,但由于显示了编译器错误而无法获取该值。请帮忙。

//#1
Option<Object> expireTimestamp = offsetAndMetadata.expireTimestamp();
expireTimestamp.getOrElse(0L);


也试过了

Option<Object> expireTimestamp = offsetAndMetadata.expireTimestamp();
expireTimestamp.getOrElse(new Long(0));


//#2
Option<Long> expireTimestamp = (Option<Long>) offsetAndMetadata.expireTimestamp();


选项类型中的方法getOrElse(Function0)不适用于参数(长整数)

最佳答案

正如Thilo所评论的那样,我尝试了以下代码,它确实有效

offsetAndMetadata.expireTimestamp().getOrElse(() -> 0L)

09-27 11:49