(String[])m.keySet().toArray();
这里有问题吧?它返回的是Object[],即使里面全是String,也不能转为String[].就用Object[]吧:
Object[] para = m.keySet().toArray();
这里有问题吧?它返回的是Object[],即使里面全是String,也不能转为String[].就用Object[]吧:
Object[] para = m.keySet().toArray();
Object o[] = m.keySet().toArray();
int j = o.length;
String para[] = new String[j];
for(int i=0;i<j;i++) {
para[i] = o[i].toString();
}
List Lt = new LinkedList();
Arrays.sort(para); //对para[]进行排序
Lt = Arrays.asList(para);
ListIterator li = Lt.listIterator();
System.out.println(li.hasNext());
while(li.hasNext()) //求字符串明文
{
System.out.println(m.get(li.next()));
}
}
我改了一下,主要是因为(String[])Object[]这种类型转换不允许造成的,用了个for来赋值,不知道有没有什么更优雅的方式来实现
只是不知道有什么好办法可以把Object[]转换成String[]?
String[] para = (String[])m.keySet().toArray(str);
String[] para = (String[])m.keySet().toArray(str);好像不行吧,就像这样:
Object[] o = {"dfd","dwd"};
String s[] = new String[0];
s = (String[])o;
是错误的
Object[] o = {"dfd","dwd"};
String s[] = new String[o.length];
System.arraycopy(o,0,s,0,o.length);
你可以用Collections.sort(List list);
还有一问:
在java中,多维数组是否可以做为函数的传值参数,如
public String CodeGenarate(String[][] para){
。。
}
放入容器里面后所有的对象都失去了类型而只是最顶级的OBJECT类型
要再次转型才可
HEHE,麻烦大家了。