文章摘要
该代码是用于验证经纬度数据格式的Java程序。它定义了两个正则表达式`LONGITUDE`和`LATITUDE`,分别用于检查经纬度值的格式是否符合要求。`LONGITUDE`和`LATITUDE`允许正负号、小数点后的位数不固定,且范围在-180到180度之间。主方法`verifyLongAndLat`遍历输入的经纬度数据,使用正则表达式验证每个经纬度值,并根据验证结果将错误类型添加到结果数组中。该程序的核心功能是确保经纬度数据的格式正确性。
package com.test;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.regex.Pattern;
public class VerifyLongAndLat {
private static final String LONGITUDE=”/^[\\-\\+]?(0?\\d{1,2}\\.\\d{1,5}|1[0-7]?\\d{1}\\.\\d{1,5}|180\\.0{1,5})$/”;
private static final String LATITUDE=”/^[\\-\\+]?(0?\\d{1,2}\\.\\d{1,5}|1[0-7]?\\d{1}\\.\\d{1,5}|180\\.0{1,5})$/”;
private JSONArray verifyLongAndLat(List<LocatorDataDetail> ldDetailList, JSONArray errorTypeArray) {
for (LocatorDataDetail dataDetail : ldDetailList) {
JSONObject errorTypeObject=new JSONObject();
Double longitude=dataDetail.getLongitude();
Double latitude=dataDetail.getLatitude();
boolean longPattern=Pattern.matches(LONGITUDE, longitude.toString());
boolean latPattern=Pattern.matches(LATITUDE, latitude.toString());
if (longPattern || latPattern) {
errorTypeObject.put(“coordinate”,”0″);
} else {
errorTypeObject.put(“coordinate”,”2″);
}
errorTypeArray.add(errorTypeObject);
}
return errorTypeArray;
}
}