java - 编译时出错:- 表达式的类型必须是数组类型,但它被解析为 Object
问题描述
错误:- 表达式的类型必须是数组类型,但解析为 Object
class ArrayExample{
private Object[] objArray = new Object[4];
private int number = 0;
public void add(Object obj) {
if(number == objArray.length) {
increaseCapacity();
}
objArray[number] = obj;
number++;
}
public void increaseCapacity() {
int newCapacity = objArray.length*2;
Object NewArray = new Object[newCapacity];
for(int i=0; i<objArray.length; i++) {
NewArray[i] =objArray[i];
}
objArray = NewArray;
}
public String toString() {
String str="";
int num = 0;
while(objArray[num] != null) {
str = str+ objArray[num];
num++;
}
return str;
}
}
public class ObjectArray {
public static void main(String[] args) {
ArrayExample col= new ArrayExample();
col.add("chandan");
col.add(10);
col.toString();
System.out.println(col);
}
}
错误:-- 当我尝试使用 for 循环将 objArray 复制到 NewArray 时,我在编译时收到此错误。请帮帮我
解决方案
这会很好用!
public class ArrayExample {
private Object[] objArray = new Object[4];
private int number = 0;
public void add(Object obj) {
if(number == objArray.length) {
increaseCapacity();
}
objArray[number] = obj;
number++;
}
public void increaseCapacity() {
int newCapacity = objArray.length*2;
Object NewArray[];
NewArray = new Object[newCapacity];
System.arraycopy(objArray, 0, NewArray, 0, objArray.length);
objArray = NewArray;
}
@Override
public String toString() {
String str="";
int num = 0;
while(objArray[num] != null) {
str = str+ objArray[num];
num++;
}
return str;
}
}
public class ObjectArray {
public static void main(String[] args) {
ArrayExample col= new ArrayExample();
col.add("chandan");
col.add(10);
col.toString();
System.out.println(col);
}
}
推荐阅读
- laravel - 为什么 Laravel 给出错误的结果查询?
- mysql - MySQL中的一个查询中的嵌套列表
- php - 尝试使用存储获取大小时未找到图像错误
- javascript - 如何在 ReactJs 中使用 OnClick 内部地图功能获取 DOM 元素 id
- c# - 抑制 DNN 中的默认 XFrameOptions
- html - 将弹性项目设置为 100% 高度
- python-3.x - PiZero W 连接到 (GPIO):如何在 Mac OS X 上使用 GPIO 输入模拟 PiZero
- c - C:提取字符串中的两个浮点数
- c# - 在 netcore api 3.1 中读取 AuthorizationFilterContext
- php - 在PHP中不断改变数字字母编号?