如何将对象数组转换为字符串以进行搜索?

时间:2015-03-25 16:51:35

标签: java arrays search

所以我有一个数组,可以由用户通过控制台添加 当我尝试System.out.println(the array);时,会出现:

project.Artist@31efa79f

很明显,如果艺术家的名字是约翰 有人搜索约翰他们不会发现它看起来像 project.Artist@31efa79f 那么如何让数组显示并允许将其作为用户输入进行搜索?

我如何使用扫描仪搜索阵列中的特定艺术家? 因此,扫描仪将允许用户输入所需的艺术家名称,然后它将搜索数组以查看该名称是否匹配?

3 个答案:

答案 0 :(得分:0)

使用:

  • Arrays.toString(myArray)用于单维数组,或
  • Arrays.deepToString(myArray)用于多维数组

您的自定义对象必须@Override Object#toString方法才能打印人类可读的表示形式。

但您可能希望按属性值进行搜索。

因此,如果您的MyObject有一个属性artistName,则为该属性(getArtistName)实现一个getter,然后迭代Collection<MyObject>直到getArtistName().equals("John")

答案 1 :(得分:0)

你可以编写循环并迭代所有元素,你可以通过比较数组元素来给出响应。

如果要将数组转换为String对象,则可以使用

Arrays.toString(Object [] arr);

答案 2 :(得分:0)

您可以使用Arrays class toString() 方法,如下所示:

//If you have an object array obj
Arrays.toString(obj);
// returns a String containing the obj elements

请查看Java.util.Arrays.toString(Object[]) Method以获取更多信息。