Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改向量中类的参数Java_Java_Vector_Element - Fatal编程技术网

更改向量中类的参数Java

更改向量中类的参数Java,java,vector,element,Java,Vector,Element,是否可以更改向量内部类的某些参数: class CGen{ public String Par1 = ""; public String Par2 = ""; } Vector GenVector = new Vector(0); //.... 我需要用最简单的形式 //.... CGen NewGen = new CGen(); GenVector.addElement(NewGen); void ChangeItemGen(int Ind

是否可以更改向量内部类的某些参数:

  class CGen{
    public String Par1 = "";
    public String Par2 = "";
  }

  Vector GenVector = new Vector(0);
  //....
我需要用最简单的形式

  //....
  CGen NewGen = new CGen();
  GenVector.addElement(NewGen);

  void ChangeItemGen(int Index, String Str) {
    GenVector.elementAt(Index).Par1 = Str;
  }

上面的代码非常简单,但实际代码更复杂。

这是可能的,但不像示例中那么简单。您必须将
elementAt
的结果强制转换为正确的类型,以便编译器知道
Par1
变量:

((CGen) GenVector.elementAt(Index)).Par1 = Str;
或者在声明时必须指定与
GenVector
一起使用的元素类型,这样就不再需要显式强制转换:

Vector<CGen> GenVector = new Vector<CGen>(0);
....
GenVector.elementAt(Index).Par1 = Str;
Vector GenVector=新向量(0);
....
GenVector.elementAt(Index).Par1=Str;

您可能应该使用
ArrayList
而不是
Vector
,除非您正在维护一个90年代编写的程序。请参见

参数化
向量
声明。另外,不要使用
向量
。使用
ArrayList
LinkedList