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);