这是良好的代码风格和良好的使用选项吗?这似乎不正确,因为该方法返回一个泛型,但主体没有使用泛型返回。此外,由于 IF 语句,“闻起来”有点难闻。
public Optional<MyObjectType> readData() {
MyObjectType[] myArray = // Will not be null, but maybe Size 0.
if(myArray.length > 0)
return Optional.of(myArray[0]);
return Optional.of(null);
}
在客户端,我有:
public void clientCode() {
Optional<CurrencyPointData> oData = readCurrency(Currency.ADA);
if(oData.isPresent()) {
CurrencyPointData data = oData.get();
// Use data object
}
}
这似乎也不比普通if(oData == null)
检查好多少。
因此,这段代码看起来很垃圾,所以我不应该使用 Optional 吗?