我正在尝试新的jdk8这里有什么http://jdk8.java.net/lambda/
我能够从命令行编译和运行我的项目.
我也可以Installed JREs在Eclipse中添加这个新的JDK .但是,我无法让Eclipse使用这个JDK编译和运行项目.
我正在尝试更改设置,Project Properties/Java Compiler但Use [JDK] compliance from execution environment on the 'Java Build Path'复选框已禁用,无论我点击此页面,我都无法使其正常工作.
我有Eclipse平台版本:3.7.1
有任何想法吗?
谢谢
我最近搬到Java 8,希望更容易处理本地和分区时间.
但是,在我看来,在解析一个简单的日期时,我面临一个简单的问题.
public static ZonedDateTime convertirAFecha(String fecha) throws Exception {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
ConstantesFechas.FORMATO_DIA).withZone(
obtenerZonaHorariaServidor());
ZonedDateTime resultado = ZonedDateTime.parse(fecha, formatter);
return resultado;
}
Run Code Online (Sandbox Code Playgroud)
就我而言:
所以,这是一个简单的例子.但是,解析会抛出此异常:
java.time.format.DateTimeParseException: Text '15/06/2014' could not be parsed: Unable to obtain ZonedDateTime from TemporalAccessor: {},ISO resolved to 2014-06-15 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)
有小费吗?我一直在尝试解析和使用TemporalAccesor的不同组合,但到目前为止没有任何运气.
最好的祝福
例如在.Net中,它提供了具有不同数量和类型的参数的Action委托的几个实现(相当于Java Consumer功能接口),我期望Java 8提供了一些方法来指定Consumer不同类型的多个参数.
我知道在Java中我们不能定义具有相同名称的不同类型,这些类型在泛型类型参数中有所不同,但是提供多参数会有很好的流畅替代方案Consumer.
有没有简单的方法可以做到这一点,这不需要定义新的功能界面?
我是Java 8的新手,不知道如何使用流和它的排序方法.如果我有如下地图,如何按值对此地图进行排序,以便只使用Java 8获取前10个条目.
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("a", 10);
map.put("b", 30);
map.put("c", 50);
map.put("d", 40);
map.put("e", 100);
map.put("f", 60);
map.put("g", 110);
map.put("h", 50);
map.put("i", 90);
map.put("k", 70);
map.put("L", 80);
Run Code Online (Sandbox Code Playgroud)
我知道在Java 8之前,我们可以将这个链接排序:https://stackoverflow.com/a/109389/4315608
我正在使用Play 2.4.0并且我一直在尝试按照主页中的教程:https: //playframework.com/,这是针对Play 2.3以及解决了有关Ebean ORM更改的几个问题之后版本2.3到2.4,我遇到以下错误:
Compilation error
value at is not a member of controllers.ReverseAssets
Run Code Online (Sandbox Code Playgroud)
我的index.scala.html:
@(message: String)
@main("Welcome to Play") {
<script type='text/javascript' src="@routes.Assets.at("javascripts/index.js")"></script>
<form action="@routes.Application.addPerson()" method="post">
<input type="text" name="name" />
<button>Add Person</button>
</form>
<ul id="persons">
</ul>
}
Run Code Online (Sandbox Code Playgroud)
我的routes档案:
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.Application.index()
POST /person controllers.Application.addPerson()
GET /persons controllers.Application.getPersons()
# Map static resources from the /public …Run Code Online (Sandbox Code Playgroud) 我有一类称为Contact具有Date lastUpdated;可变的.
我想拉出Contact一个List<Contact>有max lastUpdated变量的东西.
我知道这可以通过编写自定义比较器并使用来完成Collections.max,但我想知道是否有一种方法可以在Java 8中完成,不需要使用自定义比较器,因为我只想用一个我的代码中只有一个位置的最大日期,并且Contact该类不应始终使用该lastUpdated变量来比较实例.
现在宣布杰克谷歌澄清了Java与Android相关的可预见的未来.但是对Scala和其他基于JVM的语言开发人员有什么影响.特别是:
所有这些问题归结为一个问题:未来可以将Scala用于Android开发而不会牺牲新Scala功能和新Android工具链的优势吗?
相关阅读:
请在评论或答案中分享相关链接
相关问题:
有关:
请投票给Jack工具功能请求:
编辑:
我试图推理(不回答)我的问题,希望如果我错了,专家会纠正我.
下面是一个假设的Jack构建流程,其中包含一些额外的块,这些块是根据我的逻辑和我从可用文档中学到的内容添加的.
基本假设是Dalvik支持Java 7字节码指令.如果这是正确的Java 8指令不能直接传递给Dalvik,它们应该以某种方式转换为Java 7.(可能类似于Scala编译器总是这样做).
问题是转型发生在哪里?似乎Jill现在不能处理Java 8字节码,因此可能发生在假设流程的块(3)中.如果这是正确的,那么只有Java源项目文件需要进行转换,并且对第二个问题的回答是 - 否则,在Jill能够执行之前,不能使用库中的Java 8类(如果可能的话) .那就是我们不能使用Scala 12+.
如果在块(6)中执行所有代码优化而不是对第一个问题的答案是 - 是.转换为库.jar的Scala代码可以从Jack优化中受益.但初步应将其转换为.jayce(类似AST的表示),这将增加构建时间.
最后,Jack生成.dex Dalvik字节码,以保持与较旧的Dalvik运行时兼容(ART也使用Dalvik字节码).因此,三维问题的答案是:是的,可以使用Java 8功能.但仅限于项目Java源代码.App仍与任何运行时兼容.但是由于转换为Java 7(Dalvik字节码),Java 8的优势被删除.
我有一组数字:
Set<Integer> mySet = [ 1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我想把它分成两组赔率和赔率.
我的方法是使用过滤器两次:
Set<Integer> set1 = mySet.stream().filter(y -> y % 2 == 0).collect(Collectors.toSet())
Set<Integer> set2 =mySet.stream().filter(y -> y % 2 != 0).collect(Collectors.toSet())
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个解决方案,因为我经历了整套两次.
有没有更聪明的方法呢?
我遇到了Java 8中引入的Arrays.parallelPrefix.
此重载方法以累积方式对输入数组的每个元素执行操作.例如来自docs:
使用提供的函数并行地累积给定数组的每个元素.例如,如果数组最初保持[2,1,0,3]并且操作执行加法,则在返回时数组保持[2,3,3,6].对于大型数组,并行前缀计算通常比顺序循环更有效.
那么,parallel当一个术语的操作依赖于前一个术语的操作结果时,Java如何实现这个任务,等等?
我尝试自己完成代码并且他们确实使用了ForkJoinTasks,但是它们如何合并结果以获得最终数组并不是那么简单.
Optional<ArrayList<String>> option = Optional.of(new ArrayList<>());
Optional<ArrayList<?>> doesntWork = option;
Optional<ArrayList<?>> works = option.map(list -> list);
Run Code Online (Sandbox Code Playgroud)
第一次尝试分配不会编译,而第二次则带有mapdo。感觉map应该没有实际完成任何事情,但是由于某种原因,这使我Optional<ArrayList<String>>变成了Optional<ArrayList<?>>。是否存在某种隐式强制转换?