小编Jac*_*gen的帖子

找到两个不同列表是否包含完全相同的元素的简单方法?

在标准Java库中,查找两个列表是否包含完全相同的元素的最简单方法是什么?

如果两个列表是相同的实例,则无关紧要,如果列表的类型参数不同则无关紧要.

例如

List list1
List<String> list2; 
// ... construct etc

list1.add("A");
list2.add("A"); 
// the function, given these two lists, should return true
Run Code Online (Sandbox Code Playgroud)

我知道可能有些东西盯着我:-)


编辑:为了澄清,我正在按顺序寻找完全相同的元素和元素数量.


编辑:谢谢你指出我看不见的明显答案:-)

虽然到目前为止给出的所有答案都是正确的,但有些答案比其他答案更正确,所以在接受之前我会等待一段时间以获得最好的四舍五入的答案.

java collections

232
推荐指数
8
解决办法
34万
查看次数

Maven Surefire和Maven Failsafe插件有什么区别?

Maven Surefire和Maven Failsafe插件有什么区别?

我在网上搜索但没有得到答案.

请有人帮助这个例子.

maven maven-surefire-plugin maven-failsafe-plugin

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

带参数属性的Spring数据JPA查询

声明使用输入参数属性作为查询参数的Spring数据JPA查询的最简单方法是什么?

例如,假设我有一个实体类:

public class Person {
    @Id
    private long id;

    @Column
    private String forename;

    @Column
    private String surname;
}
Run Code Online (Sandbox Code Playgroud)

和另一课:

public class Name {
    private String forename;
    private String surname;

    [constructor and getters]
}
Run Code Online (Sandbox Code Playgroud)

...然后我想编写一个Spring数据存储库,如下所示:

public interface PersonRepository extends CrudRepository<Person, Long> {
    @Query("select p from Person p where p.forename = ?1.forename and p.surname = ?1.surname")
    findByName(Name name);
}
Run Code Online (Sandbox Code Playgroud)

...但是Spring数据/ JPA不喜欢我在?1参数上指定属性名称.

什么是最好的选择?}

spring jpa spring-data spring-data-jpa

50
推荐指数
5
解决办法
9万
查看次数

在Ember应用程序中SetTimeout与Ember.run.later?

在我的车把模板内:

Today's date: {{currentDate}}
Current Time: {{currentTime}}
Run Code Online (Sandbox Code Playgroud)

在我的助手里面:

Ember.Handlebars.registerBoundHelper 'currentDate', (option) ->
  moment().format('LL');

Ember.Handlebars.registerBoundHelper 'currentTime', (option) ->
  moment().format('h:mm:ss a');
Run Code Online (Sandbox Code Playgroud)

我如何每1秒更新一次currentTime到视图?

我已经阅读了Ember的建议Ember.run.later但是我无法弄清楚它的位置以及如何使用这个帮助器来调用它.

handlebars.js ember.js momentjs

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

自定义keycloak登录主题的本地化

我正在按照指南为 keycloak(2.5 版)实现自定义登录页面。我添加了自己的自定义样式,现在我正在尝试添加荷兰语语言环境。目前没有提供荷兰语语言环境,所以我提供了以下属性文件:

  • themes/mytheme/login/messages/messages_en.properties
  • themes/mytheme/account/messages/messages_en.properties
  • themes/mytheme/email/messages/messages_en.properties

locale_nl=Nederlands财产。之后,我添加了messages_nl.properties带有翻译字符串的文件。

接下来,我将该locales=en,nl,de属性添加到以下文件中:

  • themes/mytheme/login/messages/theme.properties
  • themes/mytheme/account/messages/theme.properties
  • themes/mytheme/email/messages/theme.properties

只剩下一件事要做:在管理控制台中添加荷兰语语言环境。但是NL启用国际化后无法选择语言环境。我只能选择英语和德语语言环境,我刚刚创建的荷兰语语言环境不可用:

在此处输入图片说明

根据多语言支持和在 Keycloak 中添加自定义语言环境,我应该能够通过输入语言环境并点击“输入”来添加我自己的语言环境,但这没有任何作用。

我在这里错过了一步?

keycloak

14
推荐指数
1
解决办法
7556
查看次数

如何在 JUnit 5 中使用少量枚举创建参数化测试?

例如,我的项目中有几个枚举:

  • 图,值为 TRIANGLE 和 SQUARE
  • 颜色,值为红色和黄色

如何使用所有组合的笛卡尔积创建测试?以下代码不起作用:

// this doesn't work
@ParameterizedTest
@EnumSource(value = Figure.class)
@EnumSource(value = Color.class)
void test(Figure figure, Color color) {
    System.out.println(String.format("%s_%s",figure,color));
}
Run Code Online (Sandbox Code Playgroud)

我想获得所有组合:

TRIANGLE RED
TRIANGLE YELLOW
SQUARE RED
SQUARE YELLOW
Run Code Online (Sandbox Code Playgroud)

我的临时解决方案是使用注释@MethodSource

// this works
@ParameterizedTest
@MethodSource("generateCartesianProduct")
void test(Figure figure, Color color) {
    System.out.println(String.format("%s_%s",figure,color));
}


private static Stream<Arguments> generateCartesianProduct() {
    List<Arguments> argumentsList = new ArrayList<>();

    for(Figure figure : Figure.values()) {
        for(Color color : Color.values()) {
            argumentsList.add(Arguments.of(figure,color));
        }
    }

    return argumentsList.stream();
}
Run Code Online (Sandbox Code Playgroud)

但我不想在测试中添加额外的代码。JUnit 5 有解决我的问题的方法吗?

java junit unit-testing parameterized-tests junit5

12
推荐指数
1
解决办法
1万
查看次数

Eclipse找不到使用sdkman安装的jdk

我是sdkman的新手,但我设法安装了它并安装了一些软件:JDK,Gradle和其他一些软件。问题是,在我下载了Eclipse并尝试运行它之后,它只是找不到JDK。我已经导出了JAVA_HOME和PATH。实际上,我实际上可以从终端运行java,javac和其他Java命令,甚至尝试使用update-alternatives。我已经更改了eclipse文件夹的所有权,但没有结果,Eclipse无法找到JDK。

我必须用apt-get安装java,这使得eclipse起作用,但是使用sdkman有什么用呢?所以我的问题是:为了使Eclipse使用sdkman java安装,我缺少什么配置。

eclipse java-home sdkman

10
推荐指数
1
解决办法
3443
查看次数

必须使用"orElseThrow"的返回值

当我使用声纳lint扫描代码时,以下代码显示错误为"必须使用"返回值"orElseThrow"

itemList.stream()
    .filter(item -> orderItemId.equals(item.getId()))
    .findAny()
    .orElseThrow(() -> new BadRequestException("12345","Item Not Found"));
Run Code Online (Sandbox Code Playgroud)

这仅用于验证目的,无需从此语句返回任何内容.需要验证项目是否存在.

仅供参考:Eclipse显示快速修复鱿鱼:S2201

任何人都知道如何解决这个错误?

java java-8 sonarqube

10
推荐指数
1
解决办法
3643
查看次数

在Ember.js中查询参数的URL编码

1.7.0-beta.1在我的最新项目中使用了Ember.js版本.我使用查询参数功能使列表在硬刷新后仍然存在(例如,在重新加载之后,仍然选择列表中的所选项).

我有一个控制器来管理:

export default Ember.ObjectController.extend({
    queryParams: [{selectedFiles: 'files'}],
    selectedFiles: Ember.A([]), //list of file ids

    ... //other props

    actions: {
    selectFile: function(file) {
        //set or remove the file id to the selectedFiles property
    }
});
Run Code Online (Sandbox Code Playgroud)

它工作得很棒,但有一个条件:url是url编码的:

Chrome和IE:

路径/ 354?文件=%5B "6513" %2C "6455" %2C "6509" %2C "6507" %2C "6505" %2C "6504" %2C "6511" %5D

FF(自动设置括号):

路径/ 354?文件= "6513" %2C "6455" %2C "6509" %2C "6507" %2C "6505" %2C "6504" %2C "6511"]

在Ember中有一种方法可以将query-param-string解码为更易读的格式吗?也许我可以在decodeURIComponent()某个地方使用这个功能?

所需的输出:

路径/ 354?文件= …

javascript url-encoding ember.js

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

Flexbox:Div高度取决于兄弟div

我把两个div包裹在一个包装内,两者都有动态高度:

#wrapper {
  display: flex;
}
Run Code Online (Sandbox Code Playgroud)
<div id="wrapper">
  <div id="left">dynamic content, height could be more or less than #right</div>
  <div id="right">dynamic content, height could be more or less than #left</div>
</div>
Run Code Online (Sandbox Code Playgroud)

左div应该始终是包装器高度的主要因素.有没有办法单靠css做到这一点?

列的宽度是已知的,我正在使用Bootstrap网格布局.

我知道通过给予#wrapperdiv display: flex,孩子们的div等于身高.是否有一些属性告诉浏览器#left高度始终wrapper是高度,无论内容是否小于#right?我一直在阅读Flexbox的完整指南,但这样的属性似乎不存在.


这张照片让我的问题更加清晰:

说明

html css css3 flexbox

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