另外 int length = size(); SIZE 和 LENGTH分别对应的对象是谁?是谁的LENGTH 和 SIZE?
因为定义了4类OBJECTS,每个的长度不通,所以我不能明白
public Object getObject(Object o) //这里的只是形参,你可以换为其他的名称 如b,c public void printVectorSize() { Object o;// 方法中的变量,作用域指在该方法内有效,不影响main里面的Object o的值 为了区别可以变为其他的名字 int length = size(); System.out.println("Number of Vector elements = "+length); }main里面的Object o = null;//这里的o是Object对象的一个实例
小弟菜鸟一个!给出自己的意见:o 不过十变量名,可以用别的名字代替!import java.util.*; import java.util.Arrays;public class TestVector extends Vector {
public TestVector() { super(10,5); } public void addObject(Object o) { // o只是一个参数名,目的是添加对象 o
addElement(o); } public Object getObject(char[] t) {
int length = size(); int index = 0; while (index < length) {
if (elementData[index] instanceof char[]) {
if ( Arrays.equals(t, (char[])elementData[index])) return elementData[index]; } index++; } return null; } public Object getObject(Object o) { // o只是一个参数名,目的是返回vector中的对象 o
int length = size(); int index = 0; Object t; while ( index < length) {
t = elementData[index]; if(o.equals(t)) return (t); index++; } return null; } public void printVectorSize() {
Object o; //根本没什么用,可以删除 int length = size(); System.out.println("Number of Vector elements = "+length); } public static void main(String [] args) { if (args.length != 3) { System.out.println("Usage is \"java TestVector float int string\""); System.exit(0); } TestVector tv = new TestVector(); char [] letters = { 'A', 'c', '8', '\u0033', 'x'}; // Load vector int i = 3; float f = 3.14f; String s = "JavaString"; Object o = null; //定义对象变量 o, 目的是可以接受任何对象数据 o = new Integer(i); //赋一个Integer类型对象给 o tv.addObject(o); o = new Float(f); //赋一个Float类型对象给 o tv.addObject(o); tv.addObject(s); tv.addObject(letters); // Search and print vector elements // float value o = new Float(args[0]); //接受从键盘传进的参数且转换成Float类型对象,赋值给 o,测试getObject(Object) o = tv.getObject(o); //在 tv 中查找 o, 并把查找结果赋值给 o if (o != null) System.out.println("Object found is "+o.toString()); else System.out.println("Argument "+args[0]+" not found"); // int value o = new Integer(args[1]); //同上
o = tv.getObject(o); if (o != null) System.out.println("Object found is "+o.toString()); else System.out.println("Argument "+args[1]+" not found"); // String value o = tv.getObject(args[2]); //同样测试getObject(Object),不过参数是String类型而已,把查找结果赋值给对象 o if (o != null) System.out.println("Object found is "+o.toString()); else System.out.println("Argument "+args[2]+" not found"); // Character array char [] sc = { 'A', 'c', '8', '\u0033', 'x'}; o = tv.getObject(sc); //同上,参数是字符数组! if (o != null) { System.out.println("Found the array object, elements are"); char [] fnd = (char []) o; for (int j = 0; j < fnd.length; j++) System.out.print(fnd[j]+" "); System.out.println(""); } // What is the vector's current capacity? System.out.println("Current capacity is = "+tv.capacity()); //What is the object at position 3? System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Replace the element at position 3 tv.set(2,new Integer(4)); System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Enumerate through the Vector System.out.println("Enumeration"); for (Enumeration e = tv.elements(); //Enumeration is an abstract Interface e.hasMoreElements();) { System.out.println(e.nextElement()); } System.out.println("End enumeration"); //Insert a bunch of characters into the vector char c; for (i =0; i < 20; i++) {
c = (char)('A'+(int)(Math.random()*26)); System.out.print(" "+c); tv.add(new Character(c)); } System.out.println(""); System.out.println("New capacity after char adds is = "+tv.capacity()); System.out.println("New size after char add is = "+tv.size()); } }
1 - getObject()method 本是自定义的!具体位置看:public Object getObject(Object o) { int length = size(); int index = 0; Object t; while ( index < length) { t = elementData[index]; if(o.equals(t)) return (t); index++; } return null; }2 - size() 其实是继承的父类也就是Vector的方法! TestVector类中并没有对该方法进行重写!也没有重载! lengh 不过十个变量,用来保存TestVector 对象的 长度! 小弟菜鸟一个!错误之处还请见谅!
//这里的只是形参,你可以换为其他的名称 如b,c
public void printVectorSize() {
Object o;// 方法中的变量,作用域指在该方法内有效,不影响main里面的Object o的值
为了区别可以变为其他的名字
int length = size();
System.out.println("Number of Vector elements = "+length);
}main里面的Object o = null;//这里的o是Object对象的一个实例
VECTOR 中 GET(INT OBJECT)是得到vector变量中的某一个元素.
import java.util.Arrays;public class TestVector extends Vector {
public TestVector() {
super(10,5);
} public void addObject(Object o) { // o只是一个参数名,目的是添加对象 o
addElement(o);
} public Object getObject(char[] t) {
int length = size();
int index = 0;
while (index < length) {
if (elementData[index] instanceof char[]) {
if ( Arrays.equals(t, (char[])elementData[index]))
return elementData[index];
}
index++;
}
return null;
} public Object getObject(Object o) { // o只是一个参数名,目的是返回vector中的对象 o
int length = size();
int index = 0;
Object t;
while ( index < length) {
t = elementData[index];
if(o.equals(t))
return (t);
index++;
}
return null;
} public void printVectorSize() {
Object o; //根本没什么用,可以删除
int length = size();
System.out.println("Number of Vector elements = "+length);
} public static void main(String [] args) { if (args.length != 3) {
System.out.println("Usage is \"java TestVector float int string\"");
System.exit(0);
} TestVector tv = new TestVector();
char [] letters = { 'A', 'c', '8', '\u0033', 'x'};
// Load vector int i = 3;
float f = 3.14f;
String s = "JavaString"; Object o = null; //定义对象变量 o, 目的是可以接受任何对象数据 o = new Integer(i); //赋一个Integer类型对象给 o
tv.addObject(o); o = new Float(f); //赋一个Float类型对象给 o
tv.addObject(o); tv.addObject(s); tv.addObject(letters); // Search and print vector elements
// float value
o = new Float(args[0]); //接受从键盘传进的参数且转换成Float类型对象,赋值给 o,测试getObject(Object)
o = tv.getObject(o); //在 tv 中查找 o, 并把查找结果赋值给 o
if (o != null)
System.out.println("Object found is "+o.toString());
else
System.out.println("Argument "+args[0]+" not found"); // int value
o = new Integer(args[1]); //同上
o = tv.getObject(o);
if (o != null)
System.out.println("Object found is "+o.toString());
else
System.out.println("Argument "+args[1]+" not found"); // String value
o = tv.getObject(args[2]); //同样测试getObject(Object),不过参数是String类型而已,把查找结果赋值给对象 o
if (o != null)
System.out.println("Object found is "+o.toString());
else
System.out.println("Argument "+args[2]+" not found");
// Character array
char [] sc = { 'A', 'c', '8', '\u0033', 'x'};
o = tv.getObject(sc); //同上,参数是字符数组!
if (o != null) {
System.out.println("Found the array object, elements are");
char [] fnd = (char []) o;
for (int j = 0; j < fnd.length; j++)
System.out.print(fnd[j]+" ");
System.out.println("");
} // What is the vector's current capacity?
System.out.println("Current capacity is = "+tv.capacity()); //What is the object at position 3?
System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Replace the element at position 3
tv.set(2,new Integer(4));
System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Enumerate through the Vector
System.out.println("Enumeration");
for (Enumeration e = tv.elements(); //Enumeration is an abstract Interface
e.hasMoreElements();) {
System.out.println(e.nextElement());
}
System.out.println("End enumeration"); //Insert a bunch of characters into the vector
char c;
for (i =0; i < 20; i++) {
c = (char)('A'+(int)(Math.random()*26));
System.out.print(" "+c);
tv.add(new Character(c));
}
System.out.println("");
System.out.println("New capacity after char adds is = "+tv.capacity());
System.out.println("New size after char add is = "+tv.size());
}
}
int length = size();
int index = 0;
Object t;
while ( index < length) {
t = elementData[index];
if(o.equals(t))
return (t);
index++;
}
return null;
}2 - size() 其实是继承的父类也就是Vector的方法!
TestVector类中并没有对该方法进行重写!也没有重载! lengh 不过十个变量,用来保存TestVector 对象的 长度!
小弟菜鸟一个!错误之处还请见谅!