重写toString以返回多个变量

时间:2017-11-20 17:46:49

标签: android

我有一个带有以下变量的Story类,它们对应于数据库列:

int id;
String title;
int author_id;
String collection;
String body;

我已覆盖toString()以返回title,如此:

@Override
public String toString() {
    return title;
}

通过此设置,我可以成功从我的数据库中提取所有故事标题。

但是,如果我还要拉所有故事集呢?是否可以在覆盖中返回多个变量,或者我应该查看另一种方法?

2 个答案:

答案 0 :(得分:0)

toString生成对象的String表示形式,作为人类可读的文本,您可以将许多变量的结果连接成一个字符串

return title + " " + collection;

答案 1 :(得分:0)

Java不支持开箱即用的多个退货。我认为你最好的选择是:

  • 将要返回的数据封装到一个简单的Java类中,这样就可以设置字段并将其作为一个对象返回。

在返回对象的函数中,当您准备返回时:

MyReturnObject obj = new MyReturnObject();
obj.setTitle(title);
obj.setCollection(collection);
return obj;
  • 或者,您可以使用某种分隔符返回集合,以便以后可以提取所需的数据:return title + "|" + collections;

这将为您留下如下字符串:myTitle|collection1|collection2|collection3,您可以按String[] tokens = myString.split("|");

解析