Java编程: 成员为数组类型,怎样对其操作才算合理?

Java编程: 成员为数组类型,怎样对其操作才算合理?,第1张

Java编程: 成员为数组类型,怎样对其操作才算合理?,第2张

刚刚接触Java没多久,在实现一个类的时候,有一个成员(field)是数组类型,不知道怎么操作才算合理。
代码:
public class ArrayTest{
private int length;
private Object[] arr;

public ArrayTest(int num){
arr = new Object[num];
length = num;
}

/* 移除指定位置的数据 */
public void remove(int index){
if ((index < length) && (arr[index - 1] != null)){
arr[index - 1] = null;
length--;
}
}

/* 在指定位置添加数据 */
public void add(int index, Object obj){
if ((length < arr.length) && (arr[index - 1] == null)){
arr[index - 1] = obj;
length++;
}
}
}

我不明白的地方是:
1、对于private成员需要使用setter来改变其值,那么数组成员的处理是否也是相同的呢?
2、针对length,自增和自减运算的时候是否需要使用setter方法? ----------------------- 以下是精选回复-----------------------

答:同菜鸟
实际情况下,一般不会把array暴露出去。比如当你implement stack或者heap的时候。如果需要提供内部数据结构 return一个copy吧。
另外array自带length
答:这不就是ArrayList类吗?去看看ArrayList的源码就知道该怎么设计了。
答:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#ArrayList.remove%28java.lang.Object%29
答:ArrayList源码,搞定

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Java编程: 成员为数组类型,怎样对其操作才算合理?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情