java-8相关内容

为什么Cloneable不被弃用?

通常可以理解,Java中的 Cloneable 接口已被破坏。这有很多原因,我不会提及; 其他人已经做到了。它也是 Java架构师本身的职位。 因此,我的问题是:为什么还没有被弃用?如果核心Java团队已经确定它已被破坏,那么他们也必须考虑弃用。他们反对这样做的原因是什么(在Java 8中它是仍然没有弃用)? 解决方案 有一个 bug 于1997年提交给 Java Bug数据库,内容 ..
发布时间:2018-12-04 13:51:32 Java开发

Java 8 Streams - 收集与减少

您何时使用 collect() vs reduce()?有没有人有一个好的,具体的例子说明什么时候以某种方式更好? Javadoc提到collect()是一个可变的减少。 鉴于它是一个可变的减少,我认为它需要同步(内部),这反过来可能对性能有害。据推测, reduce()更容易并行化,代价是必须在reduce中的每个步骤之后创建一个新的数据结构。 上面的陈述是猜测而且我喜欢这里的 ..
发布时间:2018-12-04 13:51:07 Java开发

解析ISO_INSTANT和类似的日期时间字符串

昨天我创建了这个精彩的静态方法,它工作得很好 - 昨天 然而,今天它给了我这个错误。我猜它是Z之前的太多0。 任何人都可以推荐如何以简洁的方式解析(Java 8)这种类型的字符串格式日期 - 请记住它昨天也有效,所以 ISO_INSTANT 也是 String ? 由以下原因引起:java.time.DateTimeException:无法从TemporalAccessor获取L ..
发布时间:2018-12-04 13:09:00 Java开发

Java 8的orElse没有按预期工作

考虑以下方法,如果字段存在则返回该字段,或者在找到该字段之前递归调用自身: private Field getField(Class clazz,String p){ Optional field = Arrays.stream(clazz.getDeclaredFields()) .filter(f - > p.equals(f.getName())) .f ..
发布时间:2018-12-04 13:03:25 Java开发

每次更新到1.8路径时,Android Studio JDK位置都会更改回1.7

我最近安装了jdk 1.8 u92,之后Android Studio表示api24版本需要它。但是,我现在遇到了这个问题。 我查看了其他一些解决方案并卸载了jdk 1.7,为JDK_HOME,JAVA_HOME和JAVA8_HOME添加了环境变量。问题仍然存在。 每当我尝试构建应用程序时,gradle同步失败,Android工作室要求我选择有效的JDK目录 。然后我转到项目结构=> J ..
发布时间:2018-12-04 13:00:55 Java开发

ClassLoader中的Java 8 ScriptEngine

我需要在'不同的类加载器'中执行一些javascript代码。如果是java,则每个任务都将在单独的类加载器中运行。现在我需要这个是javascript。 我是否需要在每个类加载器中创建 ScriptEngine 的新实例,或者是否可以在类加载器之间共享一个? 解决方案 从你的问题不清楚你为什么要寻找这样的类加载器隔离。所以,我在这里总结nashorn的类加载器 - 也许,你会得到你 ..
发布时间:2018-12-04 12:55:26 Java开发

Java8 CompletableFuture recoverWith等价?例如,异常但返回CompletableFuture< U>

我没有看到使用异步结果处理异常的明显方法。 例如,如果我想重试异步操作。我希望这样的东西,但handleAsync不会做你认为它做的事情 - 它在异步运行另一个线程上的回调。在这里返回CompletionStage是不正确的。当天的危险问题:然后应用是异常的,然后组成是什么。 CompletionStage cf = askPong(“导致错误”).thandAsync ..
发布时间:2018-12-04 12:52:48 Java开发

是否可以将方法引用转换为MethodHandle?

是否可以将方法引用(例如 SomeClass :: someMethod )转换为 MethodHandle 实例?我想要编译时检查的好处(确保存在类和方法)以及使用 MethodHandle API对方法进行内省的能力。 用例:当且仅当请求不是由特定方法触发时(以避免无限递归),我才需要执行代码。我想进行编译时检查以确保类/方法存在但运行时检查以将调用者与方法进行比较。 所以回顾一下 ..
发布时间:2018-12-04 12:49:41 Java开发