命令行javac工作,但Eclipse报告错误

时间:2012-12-05 12:54:38

标签: java eclipse compilation

我的代码在命令行java工具中按预期正常运行。

当我添加到eclipse时,相同的代码会引发一些错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Cannot cast from Object to long

在线:

    long statusId = (long)json.get("status_id");

然而,使用javacjava命令,我运行程序并成功输出。

WTH eclipse就是这样的!这是我的第一个日食计划,请帮助我。

编辑:

代码:

public InitOrderResponse connect()
{
    Authentication auth = new Authentication();

    String response = auth.httpBasicAuth(this.constructUrl(),this.key);


    JSONObject json = (JSONObject) JSONValue.parse(response);

    String merchantId = (String)json.get("merchant_id");
    long statusId = (long)json.get("status_id");
    String status = (String)json.get("status");
    String orderId = (String)json.get("order_id");

    initOrderResponse = new InitOrderResponse();
    initOrderResponse.setStatus(status);
    initOrderResponse.setOrderId(orderId);
    initOrderResponse.setStatusId(statusId);
    initOrderResponse.setMerchantId(merchantId);

    return initOrderResponse;
}

2 个答案:

答案 0 :(得分:0)

您的eclipse将错误/警告约束设置为某些条件的错误,默认情况下不会由Java编译器强加。要更改这些规则,请右键单击该项目,单击属性。在' Java编译器'菜单,转到'错误/警告'。在那里,您可以为编译器设置约束以提供错误/警告。

答案 1 :(得分:0)

问题在于Jdk版本。当我将jdk更改为指向Sun的JDK时。一切都按预期工作。