直辖市输入省或者输入省市代表的效果一样,但传入时候输入这两种查询的效果不同
就当一个小练习了
import com.fsni.common.utils.StringUtilPlus;
import com.fsni.res.api.entity.AdministrativeOrg;
import java.lang.reflect.Method;
/**
* Project Name:review_java <br/>
* Package Name:com.nasus.generic.how <br/>
* Date:2019/12/28 21:46 <br/>
*
* @author <a href="turodog@foxmail.com">chenzy</a><br/>
*/
public class AreaUtil {
public static <T> T AreaConversion(T t, Class clazz) {
Method getProvince;
Method getDistrict;
try {
getProvince = clazz.getMethod("getProvince");
String province = (String) getProvince.invoke(t);
getDistrict = clazz.getMethod("getDistrict");
String district = (String) getDistrict.invoke(t);
if ((province.startsWith("上海") || province.startsWith("天津") || province.startsWith("北京") || province.startsWith("重庆"))
&& StringUtilPlus.isEmpty(district)) {//当为直辖市时候当只有省或者有省和市的时候查询结果应一样
Method setCity = clazz.getDeclaredMethod("setCity", String.class);
setCity.setAccessible(true);
setCity.invoke(t, "");
}
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
public static void main(String[] args) {
AdministrativeOrg administrativeOrg = new AdministrativeOrg();
administrativeOrg.setProvince("北京");
administrativeOrg.setCity("北京市");
administrativeOrg.setDistrict("");
AdministrativeOrg show = AreaUtil.AreaConversion(administrativeOrg, AdministrativeOrg.class);
System.out.println("show.getProvince() = " + show.getProvince());
System.out.println("show.getCity() = " + show.getCity());
}
}
该博客主要介绍了一个Java方法,用于处理直辖市的行政区域数据。在查询时,无论是输入省还是输入省市,对于直辖市的情况,代码会确保查询结果保持一致。通过反射调用对象的方法设置城市为空字符串,以实现查询逻辑的一致性。
133

被折叠的 条评论
为什么被折叠?



