java - 我可以在java中的泛型函数中为泛型对象的特定属性设置值吗?
问题描述
我有一个函数负责保存这样的通用对象:
public <T> T save(final T o){
return (T) getCurrentSession().save(o);
}
我的对象有一些常见的特定属性,例如 createDate、createId、updateId、updateDate,... 我可以在我的保存函数中设置这些属性,例如:
o.setProperty("propertyName", value)
解决方案
您可以对类型参数 T 设置界限,以允许您从已定义的接口调用它的方法:
interface MyObject {
void createDate();
void createId();
...
}
public <T extends MyObject> T save(final T o){
o.createDate();
return (T) getCurrentSession().save(o);
}
推荐阅读
- python - ModuleNotFoundError: No module named 'pandas' - 当我已经安装了 pandas
- elasticsearch - 弹性搜索与 lucene
- .net - 实现递归接口的类/结构
- file-io - fopen 在 Windows 上调用 CreateFile 吗?
- reactjs - 反应状态返回不同步数据
- r - R Studio:方差分析因子和 Tukey 事后问题
- reactjs - 从 create-react-app 更新到新版本的步骤?
- java - 为什么使用 lambdas 进行日志记录更好的事实
- python - Sklearn - 从逻辑回归中返回前 3 类
- java - IntelliJ 运行使用 @Ignore 注释的 Kotlin 测试