Android Studio错误:非法字符:'\u2028'

28

我正在尝试进行一个JSONObject请求:

final String URL = "https://some/url";

// Post params to be sent to the server
HashMap<String, String> params = new HashMap<String, String>();
params.put("param1", param1);

params.put("param2", param2);

params.put("param3", param3);
    
params.put("param4", param4);


JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        try {
            VolleyLog.v("Response:%n %s", "läuft");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyLog.e("Error: ", error.getMessage());
    }
});

// add the request object to the queue to be executed
NetworkController.getInstance().addToRequestQueue(req);

因为参数存在语法错误,所以我无法编译该项目:

Error:(144, 9) error: illegal character: '\u2028'

我该如何修复它?


移除那个字符? - SLaks
我查了一下这个字符:u2028 表示换行符。但是我的参数中没有换行符。 - jublikon
删除该位置的字符并重新输入。 - SLaks
首先,这是编译时错误还是运行时错误? - SLaks
这是一个编译错误。 - jublikon
显示剩余3条评论
6个回答

41

这是新行字符,如果你转到导致错误的每一行并删除“看不见”的最后一个字符,则错误将被解决。

对于每个具有非法字符错误的行,请转到导致错误的行末尾并按一次退格键。


这个有效。不过对于一些行,我不得不多次按退格键。 - moyheen
疯狂的Android Studio,按下删除键可以很好地结束Java行,但对于某些行,您必须将光标移动到行的开头,然后再次移动到行的末尾,然后按删除键才能删除/u2028字符错误。非常恼人。但是这是什么原因呢? - Satya Attili

15

如果您是Mac用户,那么您可以:

在TextWrangler中复制和粘贴文本

查看 -> 文本显示 -> 显示不可见项

它会显示像"|"这样的符号。删除它,您就可以继续了。


12

好的,只需删除所有字符并重新编写即可解决问题。好疯狂啊..


11

最好使用Android Studio的替换功能,在"Replace with"里放入一个空字符串:

Android studio replace


2
确保你已经勾选了正则表达式,这将会非常顺利! - Groovee60

5

将代码复制并粘贴到文本编辑器中,以转换为简单文本。然后删除所有额外的空格。之后,使用Android Studio的重新格式化代码功能使其再次美观。

对于我来说,仅在Android Studio中删除空格是不起作用的。


1
我遇到了完全相同的问题,但在我的情况下错误数量相当大(约95个)。唯一明智的做法是用空字符替换这些字符。这段简短的Python脚本可以做到这一点,并打印出您文件的新内容。请使用正确的文件路径运行它。干杯。
with open(‘filename.java’, ‘r’) as file:
    data=(file.read().decode(“utf-8”)).replace(u’\u2028', ‘’).encode(“utf-8”)
    print data

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接