我如何防止 java args[] 从 dynamodb table 返回空列表?

How do i prevent java args[] from returning an empty list from a dynamodb table?

我有一个名为 environments 的 dynamodb table 和 table 中的一个名为 env_name 的列 当运行命令行中的class:

java -cp target/sharedlibraries.jar com.mimo.sharedlibraries.fetchCMDBtable environments env_name

我得到一个空列表,而不是一个充满环境名称的列表。

这是我正在使用的class:

public class fetchCMDBtable {
    
    public static void main(String[] args)throws Exception {
        //default values

        if (args.length != 2) {
            System.out.println("Not enough args!");
            System.exit(1);
        }
        String tableName = args[0]; //environments
        String tableColumn = args[1]; //env_name

        DynamoDbClient client = DynamoDbClient.builder()
                .region(Region.EU_WEST_1)
                .build();
            
        CMDB(client,tableName,tableColumn);
        System.out.println(CMDB(client, tableName, tableColumn));
        
        client.close();
    }

    public static List<String> CMDB(DynamoDbClient client,String tableName, String tableColumn) throws Exception {

        List<String> ListValues = new ArrayList<>();

        try {
            
            ScanRequest scanRequest = ScanRequest.builder()
                        .tableName(tableName)
                        .build();
            ScanResponse response = client.scan(scanRequest);

            for (Map<String, AttributeValue> item : response.items()){
                Set<String> keys = item.keySet();
                for (String key : keys) {
                    
                    if (key == tableColumn) {
                        ListValues.add(item.get(key).s()) ;
                    }
                }
            }
            
        } catch (DynamoDbException e){
            e.printStackTrace();
            System.exit(1);
        }
        return ListValues;
        
    }
}

尝试使用 key.equals(tableColumn) 而不是 key == tableColumn