所以我有一个数组,可以由用户通过控制台添加
当我尝试System.out.println(the array);
时,会出现:
project.Artist@31efa79f
很明显,如果艺术家的名字是约翰
有人搜索约翰他们不会发现它看起来像
project.Artist@31efa79f
那么如何让数组显示并允许将其作为用户输入进行搜索?
我如何使用扫描仪搜索阵列中的特定艺术家? 因此,扫描仪将允许用户输入所需的艺术家名称,然后它将搜索数组以查看该名称是否匹配?
答案 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以获取更多信息。