小编sil*_*edh的帖子

如何在Java 8中映射地图中的值?

说我有一个Map<String, Integer>.有一种简单的方法可以从中得到Map<String, String>它吗?

通过简单,我的意思是不喜欢这样:

Map<String, String> mapped = new HashMap<>();
for(String key : originalMap.keySet()) {
    mapped.put(key, originalMap.get(key).toString());
}
Run Code Online (Sandbox Code Playgroud)

而是一些像以下一样的班轮:

Map<String, String> mapped = originalMap.mapValues(v -> v.toString());
Run Code Online (Sandbox Code Playgroud)

但显然没有办法mapValues.

java lambda map java-8

52
推荐指数
2
解决办法
6万
查看次数

如何使用ScalaCheck测试Java程序?

我在ScalaCheck 用户指南中读到它是测试Scala和Java程序的工具.

我想知道,这只是营销,还是测试仅使用Java的代码库是一个合理的想法?如果是这样,将它与Java项目集成的最佳方法是什么?

java unit-testing scala scalacheck

8
推荐指数
1
解决办法
2105
查看次数

包私有类中的公共成员

我想知道公共成员是否在包私人课程中是否可行(不被视为不良做法).我倾向于向public我的默认可见性类的成员添加关键字,以指示这些成员是类API的一部分.

我这样做只是为了提高可读性,因为在这种情况下,公共成员与没有任何访问修饰符(即包可见性)的成员具有基本相同的可见性.那是对的吗?

例:

class ModuleImplementationClass {
    private int fieldA;
    private String fieldB;

    private void someClassInternalMethod() {
         // impl
    }

    public int doSth() {
        // method that will be called by other classes in the package
    }
}
Run Code Online (Sandbox Code Playgroud)

java oop coding-style

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

是否可以对整个HTML文档应用"扭曲和挤压"转换?

这个问题被标记为偏离主题(显然是因为它是推荐或找到工具,库或最喜欢的异地资源),但我不明白为什么.当然不是推荐工具或类似的东西.我想知道是否有可能做的事情,如果是的话:怎么做.

假设我们有一些普通的HTML页面,并希望对它应用一些图形效果,只需一段时间,然后返回上一个表单,好像什么也没发生过一样.

我想到的效果是这样的:

浮动页面

是否有任何jQuery插件(因为它似乎有一个jQuery插件的所有东西)可以做到这一点?它是否可行,HTML5或CSS3(我不关心遗留浏览器支持)?

我唯一能想到的是用一些图像替换页面,然后将转换应用到该图像,但这似乎不是一个非常好的解决方案,因为图像不可能完全看起来就像用户看到的一样(因为页面内容通常是动态的).

好吧,所以CSS3有这个transform东西,但是我能看到它只提供相对简单的转换.我的扭曲和挤压情况怎么样?

javascript html5 css3

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

Eclipse Scala IDE:无法打开标准库类的层次结构

我遇到与此问题完全相同的问题:Eclipse:在Scala项目中使用"Open Declaration"....

但是,我在版本3.0.2中使用了最新的Scala IDE(我已经从网站上下载了Eclipse软件包),我认为这些基本功能现在已经可以使用了,显然我的是有错误配置的东西.

我创建了一个新的Scala项目.然后我打开一些标准的库类/特性/什么,让我们说scala.util.parsing.combinator.JavaTokenParsers.源码整齐地显示,但当我尝试显示类层次结构时,我收到消息:The resource is not on the build path of a Java project.

此外,搜索引用等将不起作用.

我想这是正确配置构建路径的问题?或者也许我应该以某种方式将Scala库源附加到我的项目中?但我可以看到来源,所以他们不是已经附上了吗?

这是我的项目配置的快照:

项目展望

更新:

通过设置/重置构建路径的东西,我设法摆脱了弹出警告,但是类层次结构是空的,当搜索引用时,我只能从我自己的来源点击,没有标准库.

在另一个工作区中,我也尝试随机添加和删除scala-library jar并使其几乎工作,但是类型层次结构只出现在超类中,没有任何子类(这使得它毫无用处).搜索引用工作正常.

有趣的是,我不能让它在原来的工作空间中工作......

一定要喜欢Eclipse.

eclipse scala scala-ide

5
推荐指数
1
解决办法
1136
查看次数

为什么Java的类型推断如此弱?

说,我有一个方法:

public static <T> Collection<T> addToCollection(T element, Collection<T> collection) {
    collection.add(element);
    return collection;
}
Run Code Online (Sandbox Code Playgroud)

然后在尝试编译此代码时:

Integer i = 42;
Collection<Integer> result = addToCollection(i, Collections.emptyList());
Run Code Online (Sandbox Code Playgroud)

我收到一个错误Type mismatch: cannot convert from Collection<Object> to Collection<Integer>.任何人都可以解释为什么类型系统无法推断Collections.emptyList()应该是类型Collection<Integer>

上面的例子显然是非常人为的,但我一直偶然发现这个限制,这真的很烦人.在阅读了Effective Java之后,我发现你可以简单地做Collections.<Integer>emptyList()(必须说,那对我来说这是一个很好的启示)并且让所有东西都能顺利编译,但是当你有一些复杂的类型时,那真的是令人讨厌的.

我只是想知道这是不是某种错误,还是有任何正当理由让它以这种方式工作?

java generics type-inference

5
推荐指数
1
解决办法
449
查看次数