小编Arp*_*t M的帖子

Java 8 Map:如果找到匹配,则过滤值并抛出异常

我正在尝试在Map中找到匹配的值,如果找到,我需要抛出IllegalArgumentException.我的代码如下:

final String stringToBeMatched = "someRandomString"; 

map.values()
   .stream()
   .filter(a -> stringToBeMatched == a.getField())
   .findAny()
   .ifPresent(a -> throw new IllegalArgumentException());
Run Code Online (Sandbox Code Playgroud)

我在令牌"throw"上遇到语法错误.我不确定我哪里出错了.

java lambda java-8

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

断言字符串列表包含忽略大小写的字符串

我使用 Hamcrest 匹配器断言字符串列表包含字符串,忽略大小写。我的代码如下:

assertThat("myList has the string", myList, Matchers.hasItem(Matchers.equalToIgnoringCase(string)));
Run Code Online (Sandbox Code Playgroud)

但我的 java 编译器抱怨这一行:

assertThat("myList has the string", myList, Matchers.hasItem(Matchers.equalToIgnoringCase(string)));
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决这个错误吗?

谢谢。

java junit hamcrest junit4

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

将 DateTime strftime 精度限制为毫秒

我正在开发一个涉及与第三方 API 集成的项目。作为合同的一部分,我需要在 HTTP 请求的 XML 正文中包含以下 ISO 格式的 UTC 日期字符串:

yyyy-MM-ddTHH:mm:ss.sssZ

我一直在尝试一些选项来re.pl生成上述格式的日期字符串。到目前为止,我已经能够想出这个:

use DateTime;

my $now_utc = DateTime->now(time_zone => 'UTC');

my $now_iso_format = $now_utc->strftime('%Y-%m-%dT%H:%M:%S.%sZ');
Run Code Online (Sandbox Code Playgroud)

当我在 中执行这些行时re.pl,我得到以下格式的日期字符串:

2022-02-07T03:55:22.1644206122Z

如何将精度限制为毫秒?如您所见,现在是纳秒。

perl datetime datetime-format

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

访问公共 AWS s3 存储桶

我们一群朋友正在做一个 Map-Reduce 项目,并且正在处理一个通用数据集。我的朋友已使用他的 AWS 帐户将数据上传到 s3 存储桶,并将 s3 存储桶策略设置为:

{
    "Version": "2008-10-17",
    "Id": "Policy1417380373111",
    "Statement": [
        {
            "Sid": "Stmt1417380310953",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<bucket-name>/*"
        },
        {
            "Sid": "Stmt1417380367754",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<bucket-name>/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

注意:<bucket-name>上述策略中的设置为存储桶的名称。

现在我如何将此公共存储桶挂载为我的 aws 账户中的 s3 存储桶之一?

amazon-s3 amazon-web-services

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

Java循环遍历整数数组

请考虑以下Java代码:

int[] array = {1, 2, 3, 4, 5, 6};
for(int i : array) {
    System.out.print(i + " ");
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显然打印了数组的内容.

1 2 3 4 5

我的问题是为什么Java不允许这样做?

int[] array = {1, 2, 3, 4, 5, 6};
int i;
for(i : array) {
    System.out.print(i + " ");
}
Run Code Online (Sandbox Code Playgroud)

编辑:当我编译第二个程序时,我收到以下错误:

Main.java:14: error: bad initializer for for-loop
        for(i : array) {
            ^
1 error
Run Code Online (Sandbox Code Playgroud)

java arrays

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

"^^^"上的Java拆分字符串

我希望有人可以帮我一个模式,严格按照三个字符序列分割字符串^,即^^^

Input: Sample-1^^^Sample-2
Output: String 1: Sample-1 and String-2: Sample-2
Run Code Online (Sandbox Code Playgroud)

我试过\\^\\^\\^,它适用于快乐的道路.但是,如果我给它一个字符串,如:

Input: Sample-1^^^^Sample-2
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:

String 1: Sample-1
String-2: ^Sample-2
Run Code Online (Sandbox Code Playgroud)

我也试过这个模式(\\^\\^\\^),但没有运气.

java regex string split

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