小编Hat*_*tik的帖子

使用Stream API将列表元素复制N次

有没有一种方法可以使用Stream API在Java中复制某些列表(或必要时组合字符串)N次

如果该列表包含{"Hello", "world"}并且N = 3,则结果应为{"Hello", "world", "Hello", "world", "Hello", "world"}

到目前为止,我要做的是合并String元素,但我不确定如何将其复制N次。虽然我可以在外部进行操作,但是我想看看是否有可能借助流来完成

Optional<String> sentence = text.stream().reduce((value, combinedValue) -> { return value + ", " + combinedValue ;});
Run Code Online (Sandbox Code Playgroud)

我想使用流,因为我计划在上述操作之后继续进行其他流操作

java list java-stream

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

使用模拟响应在 Spring Webflux 中重试单元测试

在单元测试重试期间,模拟的响应似乎已缓存,或者很可能我做错了什么。

我正在尝试请求某些内容,如果发生错误,则重试两次,延迟 1 秒。

  public Mono<Object> someMethod(String someParam) {
    return someInjectedService.doSomething(someParam)
        .doOnError(ex -> System.out.println(ex + ": " + System.currentTimeMillis()))
        .retryWhen(Retry.fixedDelay(2, Duration.ofSeconds(1)).filter(ex -> ex instanceof SomeCustomException))
        .doOnSuccess(result -> doSomethingOnSuccess(result));
  }
Run Code Online (Sandbox Code Playgroud)

我的测试:

  @Test
  void testshouldRequestThrice_whenErrorOccurs() {
    // Given
    String someParam = "testParam";
    when(someInjectedService.doSomething(someParam))
        .thenReturn(Mono.error(new SomeCustomException("SomeCustomException"))) // 1st response
        .thenReturn(Mono.error(new SomeCustomException("SomeCustomException"))) // 2nd response
        .thenReturn(Mono.just("SomeValidResponse")); // 3rd valid response

    // When
    var result = testService.someMethod(someParam).block();

    // Then
    // Initial request, followed by two retries
    verify(someInjectedService, times(3)).doSomething(someParam);
  }
Run Code Online (Sandbox Code Playgroud)

someInjectedService是一个模拟。我的计划是返回异常两次,并在第三次请求时返回有效响应。但我得到的是:

org.mockito.exceptions.verification.TooFewActualInitations: someInjectedService.doSomething("testParam");

通缉 …

java project-reactor retrywhen webflux

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

在Oracle SQL中选择所有...

当我看到以下查询时,我正在研究DB中的包:

SELECT ALL TABLE1.CODE, nvl(TABLE1.EXPLANATION, '') as Explanation 
FROM TABLE1;
Run Code Online (Sandbox Code Playgroud)

我找不到ALLin SELECT语句的用法,我知道使用ALLin WHERE有意义AND.

你能帮我解决一下吗?

sql oracle

3
推荐指数
1
解决办法
5623
查看次数

SQL查询在Oracle where子句中

我有3行的表ID,GROUP_NAME并且PARENT_GROUP_ID表本身提供了一个基本的组 - 子组功能.示例是:如果我的组名是 - "第一组",ID = 1,并且它有一个名为"Sub Group"的子组,ID = 2,PARENT_GROUP_ID = 1; 这意味着Sub Group是ID = 1的组的子组.我的问题是我有一个过程,它根据参数加载数据(pn_parent_group_id是一个数字)

CURSOR c1 IS
SELECT * FROM GROUPS WHERE PARENT_GROUP_ID = pn_parent_group_id;
Run Code Online (Sandbox Code Playgroud)

pn_parent_group_id当我向进程发送任何子进程时,此查询工作正常,并且它找到所有必需的子组,但是当我向pn_parent_group_id发送NULL时,它工作错误,因为它应返回没有parent_group_id的那些(仅表示父组).我知道我的解释是缺乏的,但我希望你有这个想法,任何帮助将不胜感激!

sql oracle where

2
推荐指数
1
解决办法
78
查看次数

需要PHP SQL关系的帮助

我创建了一个包含quest_id和问题列的表,并尝试使用PHP代码更新它们,但是我的代码中只有最后一个语句实际更新了表,我的意思是实际上最后一个更新命令有效,是否有办法更新所有,或有人可以帮我修复当前错误?

<?php
     $servername = "localhost";

    $con = mysqli_connect("localhost","dnm","dnm","login1");

    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $q = array($_POST['q1'],$_POST['q2'], $_POST['q3'], $_POST['q4'], $_POST['q5'], $_POST['q6'], $_POST['q7'], $_POST['q8'], $_POST['q9'], $_POST['q10'], $_POST['q11'], $_POST['q12'], $_POST['q13'], $_POST['q14'], $_POST['q15'] );


    if($q[0] == '' OR $q[1] == '' OR $q[2] =='' OR $q[3] =='' OR $q[4] == '' OR $q[5] == '' OR $q[6] == '' OR $q[7]== '' OR $q[8] == '' OR $q[9] == '' OR $q[10] == …
Run Code Online (Sandbox Code Playgroud)

php sql mysqli

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

将年、月和日三列转换为单个日期 Oracle

我有一个以不同方式保存日期的表格,三列,一列代表年,另一列代表月,另一列代表日。因为我想使用日期比较,所以我需要它们作为日期格式的标准单列。例子:

 YEAR | MONTH | DAY
+-----+-------+-----+
 2011 | 01    | 01
Run Code Online (Sandbox Code Playgroud)

想要的结果是日期yyyy-mm-dd格式。到目前为止,我已经搜索并找到了一些解决方案,但我无法使它们工作 -首先在 Oracle 中不起作用,其次是更数学的解决方案:

select (2011-1900)*10000 +1*100 +1 (date) from dual;
Run Code Online (Sandbox Code Playgroud)

给出错误: ORA-00936: missing expression

我该怎么做才能达到预期的结果?不使用数学可能有另一种解决方案吗?

oracle date type-conversion

0
推荐指数
1
解决办法
1762
查看次数