Какой смысл у вашего объекта Point (без каламбура)?
Что такое содержимое p []? Это массив объектов Point, как вы сказали? Если да, то почему вы создаете точечный объект из точечного объекта?
Похоже, вы хотите сделать что-то вроде этого:
int[] col = new int[pSize];
for (int i = 0; i < p.length; i++) {
col[i] = (int)p[i].getX();
}
Arrays.sort(col);
System.out.println(Arrays.toString(col));
Кажется, это работает для меня.
Вот пример:
int pSize = 5;
Point[] p = new Point[pSize];
Random z = new Random();
for (int i = 0; i < p.length; i++) {
p[i] = new Point(i+z.nextInt(5), i);
}
System.out.println(Arrays.toString(p));
int[] col = new int[pSize];
for (int i = 0; i < p.length; i++) {
col[i] = (int)p[i].getX();
}
Arrays.sort(col);
System.out.println(Arrays.toString(col));
Что дает:
[java.awt.Point[x=3,y=0], java.awt.Point[x=3,y=1], java.awt.Point[x=6,y=2], java.awt.Point[x=3,y=3], java.awt.Point[x=4,y=4]]
[3, 3, 6, 3, 4]
[3, 3, 3, 4, 6]