我遇到的问题是如何从多个代码区域调用变量来打印ArrayList就是一个例子:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Scanner;
public class ReferenceHolder extends java.lang.Object{
ArrayList<Reference> references = new ArrayList<Reference>();
public void printAllBibtexEntries() {
Reference.getBibtexEntry(null, null, null, 0, 0, 0);
// TODO Auto-generated method stub
}
public void addReference(Book book ) {
String author = Reference.getAuthor();
System.out.println(references.size());
references.add(new Book(author, null, null, 0));
// TODO Auto-generated method stub
}
public void addReference(Article article) {
references.add(new Article(null, null, 0, null, 0, 0));
// TODO Auto-generated method stub
}
}
问题是我想从“Book”和“Article”类调用变量,利用“addReference”方法中的信息并通过printAllBibtexEntries方法打印信息。关于如何从BibtexEntries变量而不是null打印的任何提示?
P.S:即使我在references.add()中插入了变量,它仍然会返回“null”。该示例位于addReference(Book book)中,属于“作者”。
答案 0 :(得分:1)
为Books / Articles
创建界面或抽象类例如:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient"
android:orientation="vertical" >
<fragment
android:id="@+id/current_fragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
现在您可以将列表声明为:
interface IReference {
public String getAuthor();
}
class Book implements IReference {
... implement the interface
}
class Article implements IReference {
... implement the interface
}
和
ArrayList<IReference> references = new ArrayList<IReference>();