我想获取类实例的所有属性的名称和值。该类可以是任何自定义的任何类,它也可以具有对象列表、哈希图、表等,并且可以从另一个类扩展。实际上我的意思是我想获得一个类的所有属性的名称和值。所以我需要做的应该是一种模板。是否可以?到目前为止我已经写过了。任何建议将不胜感激。
public static void getObjectIntoMap(Object obj) throws IllegalArgumentException, IllegalAccessException {
Field[] field = obj.getClass().getDeclaredFields();
Class<?> c = obj.getClass().getSuperclass();
if(c != Object.class)
getObjectIntoMap(c.getClass());
System.out.println("SSS : "+field.length);
for (Field f : field) {
if(f.getType() == java.util.List.class){
java.util.List<Object> ll = (java.util.List<Object>) f.get(obj);
for (Object o : ll) {
Field[] ff = o.getClass().getDeclaredFields();
for (Field field2 : ff) {
print(field2.getName(), field2.get(o).toString());
}
}
}else if(f.getType() == Hashtable.class){
}
else if(f.getType() == HashMap.class){
}else if(f.getType() == Object[].class){
}
else{
print(f.getName(), f.get(obj).toString());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我试图从非活动类中获取并更新我存储在sharedpreferences xml文件中的数据.但我不知道如何从android中的非活动类到达存储在sharedPreferences中的数据.在我的活动类中,我可以将数据存储在sharedprefences中,我也可以在我的活动类中检索这些数据.但是,我无法从非活动类中检索这些数据.我的代码如下.谢谢你......
mSharedPrefs = getSharedPreferences("storageforfavorite", 0);
mPrefsEditor = mSharedPrefs.edit();
for(int i= 0;i<names.size();i++){
mPrefsEditor.putString(indexForFav[i],"0");
}
mPrefsEditor.commit();
for(int i=0;i<names.size();i++){
String keyForFav=mSharedPrefs.getString(indexForFav[i], "2");
valueForFav.add(keyForFav);
}
Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的错误,我在互联网上搜索了很多.我无法理解为什么我收到此错误.我在春季jira上找到了关于这个错误的一些解释.我有context:component-scan,applicationContext.xml我在com.sow.webservices包中定义了5个包.但是,当我添加包含控制器类的控制器包时,我抛出
Error occured processing XML '[Ljava.lang.String; cannot be cast to java.lang.String'. See Error Log for more details
Run Code Online (Sandbox Code Playgroud)
这是组件扫描:
<context:component-scan base-package="com.sow.webservices.aop,
com.sow.webservices.exceptions,
com.sow.webservices.models,
com.sow.webservices.services,
com.sow.webservices.controller">
Run Code Online (Sandbox Code Playgroud)
我想向您展示整个异常跟踪.感谢您的帮助.
!ENTRY org.springframework.ide.eclipse.beans.core 1 0 2014-04-11 18:07:39.996
!MESSAGE Error occured processing '/SOW_WS/src/main/webapp/WEB-INF/applicationContext.xml'
!STACK 0
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:92)
at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:70)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:247)
at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:85)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
at org.springframework.ide.eclipse.beans.core.internal.model.namespaces.DelegatingNamespaceHandlerResolver$ElementTrackingNamespaceHandler.parse(DelegatingNamespaceHandlerResolver.java:177)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$ErrorSuppressingBeanDefinitionParserDelegate.parseCustomElement(BeansConfig.java:1400)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:187)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$ToolingFriendlyBeanDefinitionDocumentReader.doRegisterBeanDefinitions(BeansConfig.java:1330)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:110)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:494)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$2.registerBeanDefinitions(BeansConfig.java:402)
at …Run Code Online (Sandbox Code Playgroud)