小编Him*_*rma的帖子

如何检查存储桶是否已存在于 AWS S3 中

如何使用 Java SDK 检查存储桶是否已存在于我的 Aws S3 帐户中?

使用下面的代码

        AmazonS3ClientBuilder.defaultClient().doesBucketExistV2(bucketName);
Run Code Online (Sandbox Code Playgroud)

检查存储桶的全局存在,如果具有此名称的存储桶全局存在,即使我不是此存储桶的所有者或我无权访问该存储桶,也返回 true。

我理解以这种方式制作此方法的意图,以便它允许我们确定存储桶名称的可用性,但这不是我所需要的。当然,它会抛出异常,我以后无法访问它,但它会返回声明具有此名称的存储桶存在。

我想检查我的 S3 帐户中是否存在具有给定名称的存储桶,以便我可以对其执行操作。

一种可能的解决方案可以是list所有存储桶并在返回的列表中搜索我的存储桶,我觉得这在性能方面不是很好(如果我错了,请纠正我),因为可能有成千上万的存储桶并在其中搜索他们效率不高。

如何在不检查全局存在的情况下确定存储桶是否存在于我的 S3 帐户中

amazon-s3 amazon-web-services aws-java-sdk aws-java-sdk-2.x

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

在类上注释时,如何配置 lombok 以生成静态成员的 Getter/Setter

我有一个所有静态成员的类。静态成员的数量超过 10 个(可能会随着时间的推移而增加)。

我正在使用 lombok,我想像我们为非静态成员所做的那样,在类上使用单个@Getter@Setter注释为所有静态成员生成 Getter/Setter 。

我知道

您还可以在类上添加 @Getter 和/或 @Setter 注释。在这种情况下,就好像您使用注释对该类中的所有非静态字段进行了注释。

我也知道

我们可以单独注释静态字段,@Getter @Setter用于为静态字段生成 Getter/Setter。

但这看起来很难看,我想让我的班级看起来尽可能干净。

有什么方法可以配置/覆盖@Getter 和@Setter 注释,以便我可以对类进行注释,并为包括静态和非静态成员在内的所有成员生成 Getter 和 Setter,毕竟这些方法所做的是返回提到的多变的。

更准确地说,我希望以下代码片段为所有类变量生成 Getter 和 Setter-

@Getter
@Setter
public class myClass {
    private static String d;
    private static SomePojo c;

    private String a;
    private Integer b;
    private SomeClass d;

}
Run Code Online (Sandbox Code Playgroud)

java lombok

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

C ++ std :: unique没有显示我对它的期望

我试图查找向量是否包含重复项(请不要提供检查重复项的算法。)我想到了这种奇怪的行为。向量1,2,3,1上的std :: unique应该使其1,2,3,1返回迭代器为1,但擦除迭代器返回到vector.end()时,我得到了与我是原始向量。这是描述上述行为的代码片段(可在ideone上获得

    vector<int> nums2 = {1,2,3,4};  
    vector<int> nums = {1,2,3,1};
    cout << "nums1" << endl;
    vector<int> a(nums.begin(), nums.end());
    auto ip = unique(nums.begin(), nums.begin()+nums.size());
    nums.resize( std::distance(nums.begin(),ip) );
    cout << a.size() <<  " " << nums.size() << endl;

    cout << "Nums2" << endl;
    vector<int> a2(nums2.begin(), nums2.end());
    auto ip2 = unique(nums2.begin(), nums2.begin()+nums2.size());
    nums.resize( std::distance(nums2.begin(),ip2) );
    cout << a2.size() <<  " " << nums2.size();
Run Code Online (Sandbox Code Playgroud)

实际输出为

nums1
4 4
Nums2
4 4
Run Code Online (Sandbox Code Playgroud)

但这应该是

nums1
4 3
Nums2
4 4
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

C++ 将 char 作为字符串传递给函数而不定义字符串

考虑一个函数

void foo(string s) {
...
}
Run Code Online (Sandbox Code Playgroud)

我想按如下方式调用该函数:

char ch = 'a';
foo(ch);
Run Code Online (Sandbox Code Playgroud)

当然它不能像ch字符一样工作,我们需要将其转换为字符串。

我知道我能做到

char ch = 'a';
string str;
foo(str+ch);
Run Code Online (Sandbox Code Playgroud)

我不想string str事先声明,我想在函数调用本身期间做一些事情来转换chstring,例如:

char ch = 'a';
foo(some_operation_on_ch);
Run Code Online (Sandbox Code Playgroud)

是否可以这样做,如果可以,如何做?

c++

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