【发布时间】:2023-01-18 23:19:42
【问题描述】:
我在 myApp 包中使用用 POJO 编写的数据类。我有另一个 Package UtilLibrary,我已将其作为 jar 文件导入到包 myApp 中。
我通过硬编码数据类在 UtilLibrary 中开发了一种方法,现在我需要删除它,为此我正在寻找将数据类作为参数传递的解决方案。下面是一个示例代码,非常感谢任何帮助。
import com.package.dataclasses.TestTable;
public class Sample {
public String putBatchRecords(DynamoDbEnhancedClient enhancedClient, Object tableObj) {
try {
DynamoDbTable<TestTable> objTableMappedClass = enhancedClient.table("Test_Table", TableSchema.fromBean(TestTable.class));
BatchWriteItemEnhancedRequest batchWriteItemEnhancedRequest = BatchWriteItemEnhancedRequest.builder()
.writeBatches(
WriteBatch.builder(TestTable.class)
.mappedTableResource(objTableMappedClass)
.addPutItem(builder -> builder.item((TestTable) tableObj))
.build()
)
.build();
enhancedClient.batchWriteItem(batchWriteItemEnhancedRequest);
}
} catch (DynamoDbException e) {
System.err.println(e.getMessage());
System.exit(1);
}
return "Batch write successful";
}
}
在上面的代码中,我需要删除导入语句 - 因此将 TestTable 作为对象传递给 putBatchRecords。删除语句显示以下错误。
【问题讨论】:
-
即使您只使用类的类型,如果该类不是“基本对象”,可以这么说,比如 String 或 Integer,那么您需要导入它。每个不在同一包和级别中的
class都需要它。话虽这么说,你为什么需要删除import声明?你确定你不是在尝试使用泛型吗? -
如果您在代码中使用完全限定的类名,则不需要 import 语句。
标签: java amazon-dynamodb pojo underscore-java