gpt4 book ai didi

java - BeanUtils - 'describe' 方法返回不正确的数组值

转载 作者:行者123 更新时间:2023-12-01 05:34:01 28 4
gpt4 key购买 nike

我想将 bean 类转换为映射(key=成员的名称,value=成员的值)。

我正在使用方法 BeanUtils.describe(beanClass);

(编辑:我正在使用commons-beanutils 1.8.3,jdk 1.6.0_20,在commons-beanutils 1.5上它可以工作)

问题是返回值不正确,( map 仅包含数组中的第一项),

代码:

public class Demo {

private ArrayList<String> myList = new ArrayList<String>();

public Demo() {
myList.add("first_value");
myList.add("second_value");
}

public ArrayList<String> getMyList() {
return myList;
}

public void setMyList(ArrayList<String> myList) {
this.myList = myList;
}

public static void main(String[] args) {
Demo myBean = new Demo();
try {
Map describe = BeanUtils.describe(myBean);
Iterator it = describe.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
System.out.println(String.format("key=%s,value=%s", (String) pairs.getKey(), (String) pairs.getValue()));

}
} catch (Exception e) {
e.printStackTrace();
}
}
}
  • 预期输出:

key=myList,value=[first_value,second_value]

key=class,value=class $Demo

  • 但真正的输出是:

key=myList,value=[first_value]

key=class,value=class $Demo

正如您所看到的,数组包含两个值,但输出(和 map )只包含一个值,为什么??

谢谢

本尼

最佳答案

我在我的计算机上运行您的代码示例,输出为: 键=myList,值=[第一个值,第二个值] 键=类,值=类 com.gpdi.infores.dao.test.Demo使用JDK5以上版本就可以了。

关于java - BeanUtils - 'describe' 方法返回不正确的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501318/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com