Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Class_Oop - Fatal编程技术网

Java 访问数组中的对象

Java 访问数组中的对象,java,arrays,class,oop,Java,Arrays,Class,Oop,所以我试图访问数组中类对象的属性 document doc1 = new document(1,"Introduction to Java", "Ahmed Raya", "Summary of doc1","History of Java.docx"); document doc2 = new document(2,"Object Oriented Programming", "Ahmed Raya", "Summary of doc2","Document2.pdf"); Object[

所以我试图访问数组中类对象的属性

document doc1 = new document(1,"Introduction to Java", "Ahmed Raya", "Summary of doc1","History of Java.docx");  
document doc2 = new document(2,"Object Oriented Programming", "Ahmed Raya", "Summary of doc2","Document2.pdf");
Object[] docary = {doc1, doc2};
我有一个
open(directory)
函数,它获取一个对象的目录(例如
doc1
的目录是“Java.docx的历史”。我试图做的是访问docary数组中对象的directory属性。
这基本上就是我想做的:
open(docary[k].directory);
其中k是用户输入的整数变量。我该怎么做?

感谢

< p>将声明数组的<代码>引用<代码>类型改为<代码>文档< /> >。同时,考虑将<代码>文档> /COD>类改名为“代码>文档< /代码>,以更好地遵循java命名约定。参阅更多格式信息。< /P>
document[] docary = {doc1, doc2};
docary[0].directory(); //etc
选项1)必须将数组的类型从对象更改为文档

document[] docary = {doc1, doc2};
open(((document)docary[k]).directory)

选项2)将对象强制转换为文档

document[] docary = {doc1, doc2};
open(((document)docary[k]).directory)

请注意,他也可以将
docary[k]
强制转换为
文档
类型,如下所示:
open((文档)docary[k].目录)
如果他需要数组为
Object[]
另一个问题,我可以从这种性质的数组中添加和删除吗?除非使用ArrayList,否则我似乎无法添加或删除元素。如果是这样,如何使用ArrayList执行与上面相同的操作?数组的大小是固定的。因此,您不能修改其大小,也不能删除或添加元素。要改为使用ArrayList,可以执行以下操作:ArrayList arrLst=new ArrayList();arrLst.add(doc1);arrLst.add(doc2);并获取一个元素:open(arrLst.get(k.directory);