java - 表达式的非法开始和 ';' 预期错误

标签 java syntax compiler-errors

我遇到了表达式的非法开始和 ; 预期的错误。我搜索了类似的问题,但无法解决我的问题。

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;
        }
    }
}

最佳答案

你有 );在错误的地方。它们应该在 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应该类似地修复。

关于java - 表达式的非法开始和 ';' 预期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30433015/

相关文章:

java - 收到 Android 推送通知后更新 UI

Java 小程序错误

python - "while True"在 Python 中是什么意思?

iphone - iPhone : Linker Errors with External Files

c++ - 将函数模板原型(prototype)作为参数传递

java - 无法从jms队列接收消息

java - android从文件中读取

c# - 是否有语法糖 C# 属性语法来实例化泛型集合?

c++ - 模板类的模板成员函数的类外定义语法

c++ - 构建 C++ 程序时出现多个错误