StrutsUsermgr项目/DelUserAction.java中:
UserActionForm uaf = (UserActionForm)form;
String[] userIdList = uaf.getSelectFlag();
System.out.println(userIdList);
//输出结果:[Ljava.lang.String;@118bd3c
for(int i=0; i<userIdList.length; i++) {
System.out.println("userIdList[" + i + "] = " + userIdList[i]);
//输出结果:userIdList[0] = qqqq
}
分析:
String[] userIdList = uaf.getSelectFlag();是String 类型数组之间的赋值,但只是把uaf.getSelectFlag()的引用给了userIdList,故输出的是对象[Ljava.lang.String;@118bd3c。[表示一维数组,L表示对象类型,java.lang.String表示对象标准类名。而userIdList[i]则是打印输出数组中的值。
JAVA数组常识:
数组标识符(如userIdList)只是一个引用,指向heap中创建的真实对象。
基本数据类型数组和对象数组在使用上基本一致,不同点在于对象数组保存的是引用,而基本数据类型数组直接保存基本类型。