小编YCF*_*F_L的帖子

Dynamodb 使用哪个 jar 和 java

我正在尝试使用 Java 8 为 DynamoDB 编写 DAO,似乎有几种方法。类主要定义在以下两个包下:

  • com.amazonaws.services.dynamodbv2
  • software.amazon.awssdk.services.dynamodb

他们两个似乎都在做我想做的事 - 但既然我是新开始的,我宁愿选择最新的

我看过这两个链接:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Java.03.html

https://docs.aws.amazon.com/sdk-for-java/v2/migration-guide/whats-different.html

最令人困惑的事情是com.amazonaws.services.dynamodbv2.AmazonDynamoDB说 v2 而software.amazon.awssdk.services.dynamodb.DynamoDbClient不是。

java amazon-dynamodb aws-sdk

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

Java - 为什么将数组声明为一种接口?

这是来自Mark Weiss教授的Java数据结构和算法分析一书

public class BinaryHeap<AnyType extends Comparable<? super AnyType>>{
    private void enlargeArray( int newSize ){
        AnyType [] old = array;
        array = (AnyType []) new Comparable[ newSize ];
        for( int i = 0; i < old.length; i++ )
        array[ i ] = old[ i ];        
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我们声明一个具有类型的接口Comparable的数组,因为我们必须转换Comparable[]AnyType[]?那里有任何设计理念吗?

java arrays

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

Java 8 lambda从对象列表创建字符串列表

我有以下qustion:

如何将以下代码转换为Java 8 lambda样式?

List<String> tmpAdresses = new ArrayList<String>();
for (User user : users) {
    tmpAdresses.add(user.getAdress());
}
Run Code Online (Sandbox Code Playgroud)

不知道并开始以下内容:

List<String> tmpAdresses = users.stream().map((User user) -> user.getAdress());
Run Code Online (Sandbox Code Playgroud)

java arraylist java-8 java-stream

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

如何确保 S3 存储桶名称不与 Terraform 一起使用?

我知道该data aws_s3_bucket资源可用于获取对现有存储桶的引用,但如何使用它来确保新的潜在存储桶名称是唯一的?

我正在考虑使用随机数的循环,但是如何使用它来搜索尚未使用的存储桶名称?

amazon-s3 amazon-web-services terraform-provider-aws

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

Java-17 - switch case - 应删除未使用的方法参数

我有一个简单的方法,它接受一个枚举并返回一个字符串:

public static String enumToString(MyEnum type) {
    return switch (type) {
        case Enum1 -> "String_1";
        case Enum2 -> "String_2";
        case Enum3 -> "String_3";
        case Enum4 -> "String_4";
        case Enum5 -> "String_5";
        case Enum6 -> "String_6";
        default -> null;
    };
}
Run Code Online (Sandbox Code Playgroud)

但是声纳给了我这个 Major error: Unused method参量应该被删除

正如您所看到的,参数类型用于开关中。有关更多详细信息,当我使用旧开关盒时,一切正常。

关于这个问题有什么想法吗,sonar 是否涵盖了新的 Java 语法?


嗯,我注意到当我移除default -> null;声纳时正确通过!这很奇怪。

public static String enumToString(MyEnum type) {
    return switch (type) {
        case Enum1 -> "String_1";
        case Enum2 -> "String_2";
        case Enum3 -> "String_3";
        case Enum4 …
Run Code Online (Sandbox Code Playgroud)

java sonarqube switch-expression java-17

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

处理进程是否被外部终止

我正在编写一个程序,在一个进程中创建多个线程。

我需要处理如果进程被某人使用kill -9信号或Ctrl + C从外部终止,我的程序应该在关闭之前执行一些操作,例如它应该将进程的状态更改为数据库中的中止。

我该如何处理?

我需要addShutdownHook()?或者还有其他更好的解决方案来解决我的问题吗?

我已经添加了 :

Runtime.getRuntime().addShutdownHook( new Thread() {

            @Override
            public void run() {
                logger.info( "Running Shutdown Hook" );
                //call some method
                System.out.println( "Running Shutdown Hook" );
            }
        } );
Run Code Online (Sandbox Code Playgroud)

在我的主要方法中,但它似乎不起作用。

java multithreading sigkill kill-process shutdown-hook

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

如何在相机中应用自定义滤镜[Surfaceview预览] ......?

伙计们我正在开发Camera Application,这是我的第一个Android应用程序.

下面我正在添加我的应用程序截图我想要的.

第一视图:

在此输入图像描述

在这里,点击右上角过滤器图标后,我想要一个下面的视图.

第二观点:

在此输入图像描述

我不知道怎么能得到这种类型的观点.我如何将这种类型的视图设计成XML部分.

我读了更多的文章,比如如何在单个屏幕上打开多个表面视图预览,但我没有得到任何欣赏的解决方案.

最后选择任何过滤器预览后,我想要一个上面的图像类型视图.

表示选定的滤镜是预览应用到相机[Surfaceview预览].请提供任何类型的材料链接example.etc

伙计们,请帮助我.任何类型的帮助将不胜感激..):

提前致谢

java camera android surfaceview

6
推荐指数
0
解决办法
1494
查看次数

让jenkins和maven使用不同的java版本

我需要将 Jenkins master 更新到较新的版本,这需要 java 新版本,但我的jenkins master 机器有较旧的 java 版本。

我在 master 上的所有构建作业都使用 maven,它使用旧的 java 版本。

所以,如果我升级 java,我的构建将不再工作。那么,有解决方案吗?

java maven-3 jenkins

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

使用Collections.frequency()打印某些值

我有一个数组如下:

int[] array = {11, 14, 17, 11, 48, 33, 29, 11, 17, 22, 11, 48, 18};
Run Code Online (Sandbox Code Playgroud)

我想要做的是找到重复的值,并打印它们.

所以我这样做的方法是转换为ArrayList,然后Set使用streamon Set.

ArrayList<Integer> list = new ArrayList<>(array.length);
for (int i = 0; i < array.length; i++) {
    list.add(array[i]);
}

Set<Integer> dup = new HashSet<>(list);
Run Code Online (Sandbox Code Playgroud)

然后我用a stream循环遍历它并使用打印值Collections.frequency.

dup.stream().forEach((key) -> {
            System.out.println(key + ": " + Collections.frequency(list, key));
        });
Run Code Online (Sandbox Code Playgroud)

当然,即使计数为1,它们也会打印出来.

我想加入,if(key > 1)但这是我想要的价值不是关键.

如何在此实例中获取值以仅在哪里打印value > 2.

我可以投入:

int check = …
Run Code Online (Sandbox Code Playgroud)

java collections java-8 java-stream

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

在列表中查找最大和最小双精度值

我有以下双值列表:

items {9.0, 4.0, 16.0, -6.0, 5.0}
Run Code Online (Sandbox Code Playgroud)

我想找到最大值和最小值,为此我做了:

double max = items.stream().max(Comparator.comparing(String::valueOf)).get();
double min = items.stream().min(Comparator.comparing(String::valueOf)).get();
Run Code Online (Sandbox Code Playgroud)

我得到的结果是max=9.0min=-6.0.我期待最大值16.0.后来,我换16.092.0,它起作用了; 它给了我max=92.0

你知道怎么解决这个问题吗?

java comparator java-8 java-stream

6
推荐指数
4
解决办法
1554
查看次数