type mismatch : cannot conver from object to int[]

yaakovyang 2008-05-28 03:11:31
import java.util.Arrays;

public class ArraysTester {

private int[] ar;



public ArraysTester(int numValues) {

ar = new int[numValues];

for (int i=0; i < ar.length; i++) {

ar[i] = (1000 - (300 + i));

}

}

public int[] get() {

return ar;

}

public static void main(String[] args) {

ArraysTester tester = new ArraysTester(50);

int[] myArray = tester.get();

// 比较两个数组

int[] myOtherArray = tester.get().clone();

if (Arrays.equals(myArray, myOtherArray)) {

System.out.println("这两个数组是相等的!");

} else {

System.out.println("这两个数组是不相等的!");

}

// 填上一些值

Arrays.fill(myOtherArray, 2, 10, new Double(Math.PI).intValue());

myArray[30] = 98;

// 打印数组

System.out.println("这是一个未排序的数组...");

System.out.println(Arrays.toString(myArray));

System.out.println();

// 数组排序

Arrays.sort(myArray);

// 打印被排序的数组 用toString()

System.out.println("这是一个被排序的数组...");

System.out.println(Arrays.toString(myArray));

System.out.println();



// 得到特殊值的索引

int index = Arrays.binarySearch(myArray, 98);

System.out.println("98 被定位在第 " + index + "个位置上");



String[][] ticTacToe = { {"X", "O", "O"},

{"O", "X", "X"},

{"X", "O", "X"}};

//打印二维数组用deepToString()

System.out.println(Arrays.deepToString(ticTacToe));

String[][] ticTacToe2 = { {"O", "O", "X"},

{"O", "X", "X"},

{"X", "O", "X"}};

String[][] ticTacToe3 = { {"X", "O", "O"},

{"O", "X", "X"},

{"X", "O", "X"}};

if (Arrays.deepEquals(ticTacToe, ticTacToe2)) {

System.out.println("Boards 1 和 2 相等.");

} else {

System.out.println("Boards 1 和 2 不相等.");

}

if (Arrays.deepEquals(ticTacToe, ticTacToe3)) {

System.out.println("Boards 1 和 3 are 相等.");

} else {

System.out.println("Boards 1 和 3 are 不相等.");

}

}

}
在int[] myOtherArray = tester.get().clone(); myotherArray处报错.请高手指点
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘彬彬 2008-05-28
  • 打赏
  • 举报
回复
我的JDK是1.5的.
运行没有错!
可能楼主的JDK版本比较低,编译器还不能够自动转化.要在tester.get().clone();前面加上int[]
numen_wlm 2008-05-28
  • 打赏
  • 举报
回复
int[] myOtherArray = tester.get().clone(); myotherArray

这里是类型转换异常,tester.get().clone()得到的是个Object,你直接赋给一个int数组当然不可以啦
改为
int[] myOtherArray = (int[])(tester.get().clone());
laorer 2008-05-28
  • 打赏
  • 举报
回复
int[] myOtherArray =(int[]) tester.get().clone();

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧