我在包myApp中使用了一个用POJO编写的数据类。我有另一个包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";
}
}
在上面的代码中,我需要删除import语句-因此将TestTable作为对象传递给putBatchRecords。删除语句会显示以下错误。
1条答案
按热度按时间xuo3flqw1#
您可以按如下方式更改代码:将类名替换为完全限定类名。这样就不需要导入该类。
但是我们不清楚为什么要移除这个导入,它不会让你的代码在运行时有不同的行为,也不会让代码更容易阅读,所以移除一个这样的导入只有在你想移除与另一个
TestTable
类的名称冲突时才有意义。我坚信你不想硬编码一个类名。使用一个公共基类,或者一个接口代替。