喷血求高手回答,这段代码是啥意思?

garysgarys 2009-10-24 12:56:42
protected <T> String getCountField(Class<T> clazz){
String out = "o";
try {
PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
for(PropertyDescriptor propertydesc : propertyDescriptors){
Method method = propertydesc.getReadMethod();
if(method!=null && method.isAnnotationPresent(EmbeddedId.class)){
PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
out = "o."+ propertydesc.getName()+ "." + (!ps[1].getName().equals("class")? ps[1].getName(): ps[0].getName());
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return out;
}
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wifewifewife 2009-11-05
  • 打赏
  • 举报
回复

protected <T> String getCountField(Class<T> clazz) {
String out = "o";
try {
//取得bean(clazz)类的信息,通过getPropertyDescriptors方法获取属性描述数组对象.
PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
//对bean(clazz)类的属性列表进行循环.从数组中取去一个个的属性对象进行操作——获取相应的读写方法,
// 然后调用相应的读写方法。这些是通过反射机制做到的.
for (PropertyDescriptor propertydesc : propertyDescriptors) {
//取得bean(clazz)属性的propertydesc这个方法的属性值.返回getXXX()方法.
// 另外还有:getWriteMethod()方法,他是取得setXXX()方法的.他们是一对的.
Method method = propertydesc.getReadMethod();
//属性,方法是否为空的判断.
if (method != null && method.isAnnotationPresent(EmbeddedId.class)) {
//Introspector的作用是抽取JavaBean中的属性与方法、事件等
PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
//输入EmbeddedId.class的get方法名
out = "o." + propertydesc.getName() + "." + (!ps[1].getName().equals("class") ? ps[1].getName() : ps[0].getName());
break;
}
}
} catch (Exception e) {
//异常抛出.
e.printStackTrace();
}
return out;
}
wifewifewife 2009-11-05
  • 打赏
  • 举报
回复
这就是一段java代码.只是少了一个EmbeddedId.java,如果把EmbeddedId.java加进来的话,可以运行的.
louisgarcia 2009-11-04
  • 打赏
  • 举报
回复
估计是C#
showjim 2009-10-27
  • 打赏
  • 举报
回复
protected<T> String getCountField(Class<T> clazz)
{
String out = "o";
try
{
PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
foreach (PropertyDescriptor propertydesc in propertyDescriptors)
{
Method method = propertydesc.getReadMethod();
if (method != null && method.isAnnotationPresent(EmbeddedId.class))
{
PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
out = "o." + propertydesc.getName() + "." + (!ps[1].getName().equals("class") ? ps[1].getName() : ps[0].getName());
break;
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
return out;
}

不知道什么语言的代码,好像是获取某对象的某个属性的代码字符串形式,应该是用于解释型语言的
zhangbin4362 2009-10-26
  • 打赏
  • 举报
回复
这是什么语言的代码??
蛋蛋の忧伤 2009-10-24
  • 打赏
  • 举报
回复
高不懂 是不是玩花样
内容概要:本文围绕“基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略”展开研究,提出一种结合超局部模型(ULM)与扩张状态观测器(ESO)的无模型预测电流控制(MFPCC)改进方法,旨在提升永磁同步电机(PMSM)电流环的动态响应性能与抗干扰能力。该策略利用超局部模型对系统行为进行局部逼近,避免依赖精确数学模型,同时引入自抗扰控制中的ESO实时观测并补偿系统内外部扰动,有效抑制参数摄动、负载变化及模型不确定性带来的影响。研究通过Simulink搭建完整的控制系统仿真模型,对传统MFPCC与所提改进策略进行对比分析,验证了新方法在电流跟踪精度、响应速度和鲁棒性方面的优越性。; 适合人群:具备电机控制、现代控制理论及Simulink仿真基础的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高性能电机驱动系统中电流环控制器的设计与优化;②为无模型控制与自抗扰控制的融合应用提供技术参考;③支撑相关课题的仿真验证、论文复现与创新方法研究。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制结构与参数整定过程,重点关注ESO的观测性能与扰动补偿机制,并可通过改变负载条件、参数偏差等工况进行鲁棒性测试,进一步掌握该改进策略的核心优势与适用边界。

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧