java - 无法构建它:错误:预期的类、接口或枚举
问题描述
我真的找不到问题的根源,我之前能够构建它,并且根本没有做任何改变。
这些是我遇到的两个错误:错误:类型错误的非法开始:预期的类、接口或枚举
我无法提供所有代码,但我检查了所有代码至少 50 次,并没有真正找到问题所在。
public static final Creator<FlickrPhoto> CREATOR = new Creator<FlickrPhoto>() {
@Override
public FlickrPhoto createFromParcel(Parcel in) {
return new FlickrPhoto(in);
}
@Override
public FlickrPhoto[] newArray(int size) {
return new FlickrPhoto[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(id);
dest.writeString(owner);
dest.writeString(secret);
dest.writeString(server);
dest.writeString(farm);
dest.writeString(title);
dest.writeByte((byte) (isPublic ? 1 : 0));
dest.writeString(ownerName);
dest.writeString(dateAdded);
dest.writeInt(license);
dest.writeString(description);
dest.writeString(dateTaken);
dest.writeString(views);
dest.writeString(tags);
dest.writeString(placeId);
dest.writeString(media);
dest.writeString(thumb);
dest.writeString(size_n);
dest.writeString(url_n);
dest.writeString(size_z);
dest.writeString(url_z);
dest.writeString(size_c);
dest.writeString(url_c);
dest.writeString(size_l);
dest.writeString(url_l);
dest.writeString(size_h);
dest.writeString(url_h);
dest.writeString(size_k);
dest.writeString(url_k);
dest.writeString(size_o);
dest.writeString(url_o);
}
public static List<FlickrPhoto> jsonToPhotoList(String jsonString) throws JSONException {
List<FlickrPhoto> list = new ArrayList<>();
JSONObject json = new JSONObject(jsonString);
JSONObject jPhotos = json.getJSONObject("photos");
TempData.getInstance().page = JsonUtils.getInt(jPhotos, "page");
TempData.getInstance().pages = JsonUtils.getInt(jPhotos, "pages");
TempData.getInstance().perPage = JsonUtils.getInt(jPhotos, "perpage");
int total = JsonUtils.getInt(jPhotos, "total");
TempData.getInstance().total = total;
if (total > 0) {
JSONArray photoArray = jPhotos.getJSONArray("photo");
list.addAll(parsePhotoJson(photoArray.toString()));
}
return list;
}
public static List<FlickrPhoto> parsePhotoJson(String jsonString) throws JSONException {
List<FlickrPhoto> list = new ArrayList<>();
JSONArray photoArray = new JSONArray(jsonString);
for (int i = 0; i < photoArray.length(); i++) {
JSONObject j = photoArray.getJSONObject(i);
FlickrPhoto photo = new FlickrPhoto();
photo.id = JsonUtils.getLong(j, "id");
photo.owner = JsonUtils.getString(j, "owner");
photo.secret = JsonUtils.getString(j, "secret");
photo.server = JsonUtils.getString(j, "server");
photo.farm = JsonUtils.getString(j, "farm");
photo.title = JsonUtils.getString(j, "title");
photo.isPublic = JsonUtils.getBoolean(j, "ispublic");
photo.ownerName = JsonUtils.getString(j, "ownername");
/*long dateAdded = JsonUtils.getLong(j, "dateadded");
photo.dateAdded = getDateFromUnix(dateAdded); */
photo.license = JsonUtils.getInt(j, "license");
/* JSONObject description = j.getJSONObject("description");
photo.description = JsonUtils.getString(description, "_content"); */
/* String datetaken = JsonUtils.getString(j, "datetaken");
photo.dateTaken = getDateFromString(datetaken); */
//photo.views = JsonUtils.getString(j, "views");
photo.tags = JsonUtils.getString(j, "tags");
//photo.placeId = JsonUtils.getString(j, "place_id");
photo.media = JsonUtils.getString(j, "media");
photo.thumb = JsonUtils.getString(j, "url_n");
photo.url_n = JsonUtils.getString(j, "url_n");
if (j.has("width_n") && j.has("height_n"))
photo.size_n = JsonUtils.getString(j, "width_n") + " * " + JsonUtils.getString(j, "height_n");
photo.url_z = JsonUtils.getString(j, "url_z");
if (j.has("width_z") && j.has("height_z"))
photo.size_z = JsonUtils.getString(j, "width_z") + " * " + JsonUtils.getString(j, "height_z");
photo.url_c = JsonUtils.getString(j, "url_c");
if (j.has("width_c") && j.has("height_c"))
photo.size_c = JsonUtils.getString(j, "width_c") + " * " + JsonUtils.getString(j, "height_c");
photo.url_l = JsonUtils.getString(j, "url_l");
if (j.has("width_l") && j.has("height_l"))
photo.size_l = JsonUtils.getString(j, "width_l") + " * " + JsonUtils.getString(j, "height_l");
photo.url_h = JsonUtils.getString(j, "url_h");
if (j.has("width_h") && j.has("height_h"))
photo.size_h = JsonUtils.getString(j, "width_h") + " * " + JsonUtils.getString(j, "height_h");
if (j.has("width_k") && j.has("height_k"))
photo.size_k = JsonUtils.getString(j, "width_k") + " * " + JsonUtils.getString(j, "height_k");
photo.url_o = JsonUtils.getString(j, "url_o");
if (j.has("width_o") && j.has("height_o"))
photo.size_o = JsonUtils.getString(j, "width_o") + " * " + JsonUtils.getString(j, "height_o");
}
}
return list;
}
错误似乎在最后几行
}
return list;
}
}
解决方案
{
这条线上没有开口:
if (j.has("width_o") && j.has("height_o"))
但是,您似乎在这里期待一个:
photo.size_o = JsonUtils.getString(j, "width_o") + " * " + JsonUtils.getString(j, "height_o");
}
这将导致大括号不匹配,从而导致各种错误,将您指向错误的方向。
因此,您要做的是在这一行中添加一个,如下所示:
if (j.has("width_o") && j.has("height_o")) {
推荐阅读
- android - AOSP:无法打包预签名的 apk
- python - 是否可以使用 imap-tools 处理第二个共享交换邮箱?
- machine-learning - 聚类的颜色归一化
- python-3.x - 使用多列聚合大熊猫数据框
- python - 如何在 for 循环中保存多个图而不重叠数据?
- javascript - 正则表达式匹配三个字母和破折号和 60 个字符长
- python - 使用 dateparser.search 模块解析文本时排除相对日期
- c# - 在每个商店国家部分中选择出生值最高的行
- python - 如果局部变量被引用到其范围之外,如何强制 Python 报告错误?
- java - Google-fit API 同步问题测试用户 Android Studio