public static void main(String[] args) {
Optional<Integer> optionalResult = functionThatReturnsOptionalInteger();
Integer finalValue = optionalResult.orElse(0);
System.out.println(finalValue);
}
public static Optional<Integer> functionThatReturnsOptionalInteger() {
Integer[] ints = new Integer[0];
return Stream.of(ints).findAny();
}
但如果您想parseint
一个字符串,该字符串可以是空的,或者不包含有效的整数,则解决方案与通常相同:
public static Integer parseIntOrDefault(String toParse, int defaultValue) {
try {
return Integer.parseInt(toParse);
} catch (NumberFormatException e) {
return defaultValue;
}
}
如何用Java8特性来改善这一点?为什么Integer.parseint()没有重载以在参数不正确的情况下返回一个可选的?(或者只需向整数包装器添加一个新方法Integer.parseintoptional())
与现在被删除的其他答案不同,我不认为这真的与Java向后兼容有关。
因为空的optional
表示一个不存在的值,这意味着方法实际工作但没有返回结果。
但是,将hello
解析为整数将不起作用,并且必须抛出异常,因为它是一个错误而不是空结果。请记住,NumberFormatException
扩展了IllegalArgumentException
。
本文向大家介绍C#中的try catch finally用法分析,包括了C#中的try catch finally用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#中的try catch finally用法。分享给大家供大家参考。具体分析如下: try中的程序块是有可能发生错误的程序块,catch中的程序块是当发生错误的时候才会执行的代码块,finally中的程序块是无论是否发生
问题内容: 我正在考虑在以后的所有Web应用程序中使用PDO。当前(使用到目前为止我从中学到的知识),我站点中用于处理数据库连接的内容是一个Singleton类,如下所示: 另一个文件(functions.php)具有特定于内容的功能,看起来像这样: 这意味着我必须重复所有功能。 我的问题是: 我应该如何提高效率?(例如,不必在所有功能中都重复执行,但仍然能够在每个功能上返回不同的“失败消息”)
问题内容: 可以在Swift中捕获异常吗?给出以下代码: 是否可以防止异常导致整个程序崩溃?也就是说,Objective-C中的Swift等效于什么: 问题答案: 它没有异常处理,并且在开发人员论坛中的讨论讨论了为什么会这样: 但请记住,可可和可可触控传统上并不打算让您捕获异常。他们打算让您不要将它们放在首位。普通错误应使用可选类型和inout NSError参数处理;您应该通过编写更好的代码来解
因此,我开始使用Java8streams/lambda表达式,遇到了一些有趣的问题,我不知道如何解决这些问题。所以我在这里,请求你的帮助。 现在我得到编译器错误“在lambda表达式中使用的变量应该有效地是final”。 怎么做? 方法createNewDocument和createOldDocument引发异常,因此调用必须在try/catch块内。我还需要关闭finally块内的文档。
问题内容: 好的,这可能是一个非常愚蠢的问题,但是我发现关于此的PHP文档以及一些Internet搜索并没有使我对此有所任何了解。 什么时候应该使用try-catch块来改进我的应用程序? 我读过有人说我们应该仅使用try- catch块来防止致命错误。我读过别人的话说,我们应该只在意外错误上使用它(等什么?意外?如果它们是意外错误,如何使用try- catch防止它们出现?我应该将所有应用程序代