新手学写程序,统计一个特定的字符在一个二维数组中出现的次数:
class Position
{
public int x, y;
public Position(){ x = y = 0; }
public Position(int X, int Y) { x = X; y = Y; }
}
...Stack stack = new Stack();...
stack.add(new Position(i, j));
...Position pos[] = stack.toArray();编译时出错:
Statistic.java:79: incompatible types
found : java.lang.Object[]
required: Position[]
Position pos[] = move.toArray();怎么改?
解决方案 »
- 有个关于Java读取xml文件的小问题
- 关于获得当前时间的问题!·
- 新手求助:文件拷贝以及数据库操作
- (棘手)请教一个问题:关于Applet的生命周期
- 用jexcel API怎样往现有的workbook中插入sheet?
- 一道老师留的作业题
- 关于Hanoi tower(汉诺塔)的问题
- 向各位调查目前上海从事Java\Servlet\Ejb\jsp的程序员每月能拿多少薪水啊?
- 关于JDBC的问题!
- jCreator编译后,如何在运行时加上参数????
- 我的java打印程序打不起
- 求教:一个有一年工作经验的java程序员的学习提升方法,不管你是java的牛人还是菜鸟,都希望大家进来看看,希望大家共同进步.........
Position pos[] = new Position[i];
for(int i=0; i<temp.length; i++)
{
pos[i] = (Position)temp[i];
}
public Object[] toArray()
Returns an array containing all of the elements in this Vector in the correct order. Specified by:
toArray in interface List
Overrides:
toArray in class AbstractCollection
Returns:
an array containing all of the elements in this list in proper sequence.
Since:
1.2
See Also:
Arrays.asList(Object[])试试Position pos[] = (Position)stack.toArray();
TestStack[] ts1 = new TestStack[5];
int j = 0;
for (Iterator iter = c.iterator(); iter.hasNext();) {
ts1[j++] = (TestStack) iter.next();
}
编译可以过,但运行会有ClassCastException异常。 Object
/ \
Object[] Position[]二者的父类都是Object,他们之间并不存在继承关系,所以不能强转。
Position pos[] = (Position[])stack.toArray(new Position[stack.size()]);