我得到了非法的表达开始和;
预期的错误。我搜索了类似的问题,但我无法解决我的问题。
public int compare(Point point1, Point point2)
这是完整的方法。
public static void sortByX(List<? extends Point> points)
{
Collections.sort(points, new Comparator<Point>() );
{
public int compare(Point point1, Point point2)
{
if (point1.x < point2.x)
return -1;
if (point1.x > point2.x)
return 1;
return 0;
}
}
}
public static void sortByY(List<? extends Point> points)
{
Collections.sort(points, new Comparator<Point>() );
{
public int compare(Point point1, Point point2)
{
if (point1.y < point2.y)
return -1;
if (point1.y > point2.y)
return 1;
return 0;
}
}
}
答案 0 :(得分:4)
你有);
错误的地方。它们应该出现在Comparator<Point>()
的匿名实现之后:
public static void sortByX(List<? extends Point> points)
{
Collections.sort(points,
new Comparator<Point>() //); - remove these
{
public int compare(Point point1, Point point2)
{
if (point1.x < point2.x)
return -1;
if (point1.x > point2.x)
return 1;
return 0;
}
}); // add ); here
}
sortByY
应该同样修复。