小编rol*_*lve的帖子

如何在Scala中以String格式重复参数

如何重复使用相同的字符串进行格式放置?例如

"%s-%s-%s" format("OK")
>> "OK-OK-OK"
Run Code Online (Sandbox Code Playgroud)

java scala string-formatting

9
推荐指数
2
解决办法
2854
查看次数

如何使用NIO从JAR读取文件?

使用ClassLoader.getResourceAsStream(...)从可执行JAR文件本身读取文件对我来说是一个众所周知的概念,但我如何使用Java NIO做同样的事情呢?

目标是具有如下功能:

static String readFullyFromJar(String filename) {
    final Path path = Paths.get(Main.class.getResource(fileName).toURI());
    final byte[] bytes = Files.readAllBytes(path);
    return new String(bytes, CHARSET_ASCII);
}
Run Code Online (Sandbox Code Playgroud)

虽然这在IDE中运行良好,但我得到了一个

java.nio.file.FileSystemNotFoundException
    at com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171))
Run Code Online (Sandbox Code Playgroud)

当我尝试使用真正的JAR时,即使目标文件位于正确的位置.

java nio

9
推荐指数
1
解决办法
4082
查看次数

如何实现线程安全的收集器?

我想要一个类似的东西Collectors.maxBy(),一个收集器,它获取集合中的顶级元素(maxBy只获得一个).

我有一个Possibility可以用Integer score(Possibility)方法评分的对象流.

首先我试过:

List<Possibity> possibilities = getPossibilityStream()
    .parallel()
    .collect(Collectors.toList());

if(!possibilities.isEmpty()) {
    int bestScore = possibilities.stream()
        .mapToInt(p -> score(p))
        .max()
        .getAsInt();
    possibilities = possibilities.stream()
        .filter(p -> score(p)==bestScore)
        .collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

但是这样做,我扫描了三次.一旦建立它,第二次获得最高分,第三次过滤它,这不是最佳的.此外,可能性的数量可能很大(> 10 12).

最好的方法应该是直接获得第一次收集的顶级可能性,但似乎没有内置的收集器来做这样的事情.

所以我实现了自己的Collector:

public class BestCollector<E> implements Collector<E, List<E>, List<E>> {

    private final Comparator<E> comparator;

    private final Class<? extends List> listImpl ;

    public BestCollector(Comparator<E> comparator, Class<? extends List> listImpl) {
        this.comparator = comparator;
        this.listImpl = listImpl;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading java-8 java-stream

9
推荐指数
1
解决办法
902
查看次数

如何获得日食的JDT来源?

我正在尝试编写Eclipse插件,但我发现默认情况下没有源代码.我在www.eclipse.org上搜索过,但没有找到任何东西.

我的日食是3.6.2.我在哪里可以获得JDT的来源?

java eclipse eclipse-jdt

7
推荐指数
2
解决办法
4592
查看次数

Stream-cons#::如何在Scala中翻译?

我目前正在通过"Scala编程"一书来学习Scala.到目前为止,对于所有看起来很奇怪的东西(从Java程序员的角度来看)都有很好的解释,但是这个使用Stream生成Fibonacci序列的例子让我感到有些困惑:

def fibFrom(a: Int, b: Int): Stream[Int] =
  a #:: fibFrom(b, a + b)
Run Code Online (Sandbox Code Playgroud)

如何完成Stream的构建?当然,#::运营商对此负有某种责任.我理解,因为它结束了:,它是右关联的,但这并不能解释Stream的创建.我猜它是以某种方式隐式转换为构造函数,但我不明白为什么以及如何确切.

我已经找到了答案Predef.scala,LowPriorityImplicits.scala但到目前为止还没有运气.

任何人都可以开导我吗?

scala

7
推荐指数
1
解决办法
1566
查看次数

JVM应用程序中的许多线程是否昂贵?

我目前正在学习Scala中的演员.本书建议使用该react方法代替receive,因为它允许系统使用更少的线程.

我已经读过为什么创建一个线程很昂贵.但什么是是,一旦你的线程(应保持在初始化之后男主角系统斯卡拉)的原因,让他们周围是昂贵?

主要是内存消耗吗?还是有其他原因吗?

multithreading jvm scala actor

7
推荐指数
1
解决办法
382
查看次数

在Scala IDE中运行Scala应用程序并出现编译错误

如果项目中存在(无关!)编译错误,是否有办法在Scala IDE 2.0.2(Eclipse 3.7)中运行Scala应用程序或单元测试?

在Java中,这没问题,但Scala IDE一直告诉我:

项目包含编译错误(因此,没有生成二进制文件).

我想要做的就是在重大的重构过程中运行一个小测试,但我现在无法解决所有编译错误.而且我不想开始评论,因为那些编译错误很好地提醒了仍然需要完成的任务.

eclipse scala scala-ide

7
推荐指数
1
解决办法
520
查看次数

使用通配符存在文件时激活配置文件

我在父pom.xmlSpring支持中激活使用

<activation>
    <file>
        <exists>src/main/resources/*beans.xml</exists>
    </file>
</activation>
Run Code Online (Sandbox Code Playgroud)

这很好用.

当我尝试使用时激活配置文件中的CucumberJVM内容

<activation>
    <file>
        <exists>src/test/resources/**/*.feature</exists>
    </file>
</activation>
Run Code Online (Sandbox Code Playgroud)

然而,这拒绝工作.所以我猜**在这种情况下会忽略通配符.

这是正常的,是否有解决方法在.feature文件存在时激活此配置文件?

activation profiles cucumber maven

7
推荐指数
1
解决办法
7378
查看次数

Excel 2010 - 将美国日期更改为英国格式

我导入了一个包含2个长列日期的CSV文件.这些日期采用美国格式Aug/28/2013,我希望它们采用标准英国dd/mm/yyyy格式.

我尝试将单元格格式化为美国日期,然后将它们转换为仅数字格式,以及日期格式框中的各种其他排列,但没有成功.

谁能让我摆脱这些糟糕的美国约会呢?

excel date-format

7
推荐指数
3
解决办法
7万
查看次数

JavaFX 2.2 javadoc?

我在Windows上安装了JavaFX 2.2(与Java 7 U7捆绑在一起),我正在使用Eclipse.我想将javadoc添加到Eclipse中,但我无法在JDK文件夹中找到它.

那么,JavaFX 2.2的javadoc在哪里?(用于离线使用)

谢谢你的提示!

java eclipse javadoc javafx javafx-2

6
推荐指数
1
解决办法
8269
查看次数