Вот мои два массива, один цветный массив, который содержит другой цветный массив в качестве элементов, а второй - массив объектов, который содержит еще один массив объектов в качестве его элементов.Как вы распечатываете элементы объекта в массиве объектов?
Color[] colourArray= {colorBase[1], colorBase[2], colorBase[2], colorBase[6],colorBase[5], colorBase[0]};
Ball[] objectArray = {ballGrid[1], ballGrid[2], ballGrid2[2], ballGrid[6], ballGrid[5], ballGrid2[0]};
В моей программе я проверить массив цвета, который возвращает который, какой элемент является истинным, и я хочу, чтобы распечатать тот же элемент из массива с мячем.
Например, если colorArray [4] (colorBase [5]) истинно, тогда программа должна распечатать objectArray [4], который является «ballGrid [5]».
if(colorArray[4]==Color.blue){
System.out.println((objectArray[4].toString()));
}
Однако выход [[email protected]], но мне нужно, чтобы это было ballGrid [5].
Как вы это сделаете?
Я попробовал Arrays.deeptoString, но он дал тот же результат, а также переопределив toString() в классе Ball, но он не работает для моего случая.
«_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Поскольку вы ссылаетесь на индекс массива, вы получаете элемент в этой позиции, а не целый массив. Возможно, вы хотели создать новый массив в каждом месте, например '{new colorBase [1]}' – csmckelvey
, вы получаете элемент в определенном индексе, который является другим объектом, следовательно, hashcode он возвращает. переопределите toString() правильно в классе шара и верните объект строки –
Покажите нам 'Ball.java' – MariuszS