Collections 数组 Comparable 泛型转换失败 导致编译不了的问题
2017-08-18 18:10
281 查看
class CityListData { private var city: List<CityBean>? = null fun getCity(): List<CityBean> { Collections.sort(city!!) return city as List<CityBean> } class CityBean : Comparable<CityBean> { /** * key : G * value : ["甘南藏族自治州","甘孜藏族自治州","赣州","高雄","高雄县","固原","广安","广元","广州","贵港","贵阳","桂林","果洛藏族自治州"] */ val key: Char = ' ' val value: List<String>? = null override fun compareTo(o: CityBean): Int { return this.key - o.key } } } 解决方法: public abstract class Item<T> implements Comparable<Item<T>> { protected T item; @Override public int compareTo(Item<T> o) { return 0; // this doesn't matter for the time being } }
**重点就是将CityBean 用Comparable包起来
Collections.sort(city!!)才不会报编译问题**
ps:以上代码使用Koltin写的 不要直接复制粘贴
最后附加一个城市的json
{
“city”: [
{
“key”: “G”,
“value”: [
“甘南藏族自治州”,
“甘孜藏族自治州”,
“赣州”,
“高雄”,
“高雄县”,
“固原”,
“广安”,
“广元”,
“广州”,
“贵港”,
“贵阳”,
“桂林”,
“果洛藏族自治州”
]
},
{
“key”: “H”,
“value”: [
“哈尔滨”,
“哈密地区”,
“海外”,
“海北藏族自治州”,
“海东地区”,
“海口”,
“海南藏族自治州”,
“海西蒙古族藏族自治州”,
“邯郸”,
“汉中”,
“杭州”,
“合肥”,
“和田地区”,
“河池”,
“河源”,
“菏泽”,
“贺州”,
“鹤壁”,
“鹤岗”,
“黑河”,
“衡水”,
“衡阳”,
“红河哈尼族彝族自治州”,
“呼和浩特”,
“呼伦贝尔”,
“湖州”,
“葫芦岛”,
“花莲县”,
“怀化”,
“淮安”,
“淮北”,
“淮南”,
“黄冈”,
“黄南藏族自治州”,
“黄山”,
“黄石”,
“惠州”
]
},
{
“key”: “W”,
“value”: [
“无锡”,
“万宁”,
“威海”,
“潍坊”,
“渭南”,
“温州”,
“文昌”,
“文山壮族苗族自治州”,
“乌海”,
“乌兰察布”,
“乌鲁木齐”,
“吴忠”,
“芜湖”,
“梧州”,
“五家渠”,
“五指山”,
“武汉”,
“武威”
]
},
{
“key”: “J”,
“value”: [
“鸡西”,
“基隆”,
“吉安”,
“吉林”,
“济南”,
“济宁”,
“济源”,
“佳木斯”,
“嘉兴”,
“嘉义”,
“嘉义县”,
“嘉峪关”,
“江门”,
“焦作”,
“揭阳”,
“金昌”,
“金华”,
“锦州”,
“晋城”,
“晋中”,
“荆门”,
“荆州”,
“景德镇”,
“九江”,
“酒泉”
]
},
{
“key”: “X”,
“value”: [
“西安”,
“西宁”,
“西沙群岛”,
“西双版纳傣族自治州”,
“锡林郭勒盟”,
“厦门”,
“仙桃”,
“咸宁”,
“咸阳”,
“香港特别行政区”,
“湘潭”,
“湘西土家族苗族自治州”,
“襄樊”,
“孝感”,
“忻州”,
“新乡”,
“新余”,
“新竹”,
“新竹县”,
“信阳”,
“兴安盟”,
“邢台”,
“徐州”,
“许昌”,
“宣城”
]
},
{
“key”: “K”,
“value”: [
“喀什地区”,
“开封”,
“克拉玛依”,
“克孜勒苏柯尔克孜自治州”,
“昆明”
]
},
{
“key”: “Y”,
“value”: [
“雅安”,
“烟台”,
“延安”,
“延边朝鲜族自治州”,
“盐城”,
“扬州”,
“阳江”,
“阳泉”,
“伊春”,
“伊犁哈萨克自治州”,
“宜宾”,
“宜昌”,
“宜春”,
“宜兰县”,
“益阳”,
“银川”,
“鹰潭”,
“营口”,
“永州”,
“榆林”,
“玉林”,
“玉树藏族自治州”,
“玉溪”,
“岳阳”,
“云浮”,
“云林县”,
“运城”
]
},
{
“key”: “L”,
“value”: [
“拉萨”,
“来宾”,
“莱芜”,
“兰州”,
“廊坊”,
“乐东黎族自治县”,
“乐山”,
“丽江”,
“丽水”,
“连云港”,
“凉山彝族自治州”,
“辽阳”,
“辽源”,
e519
“聊城”,
“林芝地区”,
“临沧”,
“临汾”,
“临高县”,
“临夏回族自治州”,
“临沂”,
“陵水黎族自治县”,
“柳州”,
“六安”,
“六盘水”,
“龙岩”,
“陇南”,
“娄底”,
“泸州”,
“吕梁”,
“洛阳”,
“漯河”
]
},
{
“key”: “Z”,
“value”: [
“枣庄”,
“湛江”,
“张家界”,
“张家口”,
“张掖”,
“彰化县”,
“漳州”,
“昭通”,
“肇庆”,
“镇江”,
“郑州”,
“中沙群岛的岛礁及其海域”,
“中山”,
“中卫”,
“重庆”,
“舟山”,
“周口”,
“株洲”,
“珠海”,
“驻马店”,
“资阳”,
“淄博”,
“自贡”,
“遵义”
]
},
{
“key”: “M”,
“value”: [
“马鞍山”,
“茂名”,
“眉山”,
“梅州”,
“绵阳”,
“苗栗县”,
“牡丹江”
]
},
{
“key”: “N”,
“value”: [
“内江”,
“那曲地区”,
“南昌”,
“南充”,
“南京”,
“南宁”,
“南平”,
“南沙群岛”,
“南通”,
“南投县”,
“南阳”,
“宁波”,
“宁德”,
“怒江傈僳族自治州”
]
},
{
“key”: “A”,
“value”: [
“阿坝藏族羌族自治州”,
“阿克苏地区”,
“阿拉尔”,
“阿拉善盟”,
“阿勒泰地区”,
“阿里地区”,
“安康”,
“安庆”,
“安顺”,
“安阳”,
“鞍山”,
“澳门特别行政区”
]
},
{
“key”: “B”,
“value”: [
“巴彦淖尔”,
“巴音郭楞蒙古自治州”,
“巴中”,
“白城”,
“白沙黎族自治县”,
“白山”,
“白银”,
“百色”,
“蚌埠”,
“包头”,
“宝鸡”,
“保定”,
“保山”,
“保亭黎族苗族自治县”,
“北海”,
“北京”,
“本溪”,
“毕节地区”,
“滨州”,
“亳州”,
“博尔塔拉蒙古自治州”
]
},
{
“key”: “P”,
“value”: [
“攀枝花”,
“盘锦”,
“澎湖县”,
“平顶山”,
“平凉”,
“屏东县”,
“萍乡”,
“莆田”,
“濮阳”
]
},
{
“key”: “C”,
“value”: [
“沧州”,
“昌都地区”,
“昌吉回族自治州”,
“昌江黎族自治县”,
“长春”,
“长沙”,
“长治”,
“常德”,
“常州”,
“巢湖”,
“朝阳”,
“潮州”,
“郴州”,
“成都”,
“承德”,
“澄迈县”,
“池州”,
“赤峰”,
“崇左”,
“滁州”,
“楚雄彝族自治州”
]
},
{
“key”: “Q”,
“value”: [
“七台河”,
“齐齐哈尔”,
“其他”,
“潜江”,
“黔东南苗族侗族自治州”,
“黔南布依族苗族自治州”,
“黔西南布依族苗族自治州”,
“钦州”,
“秦皇岛”,
“青岛”,
“清远”,
“庆阳”,
“琼海”,
“琼中黎族苗族自治县”,
“曲靖”,
“衢州”,
“泉州”
]
},
{
“key”: “D”,
“value”: [
“达州”,
“大理白族自治州”,
“大连”,
“大庆”,
“大同”,
“大兴安岭地区”,
“丹东”,
“儋州”,
“德宏傣族景颇族自治州”,
“德阳”,
“德州”,
“迪庆藏族自治州”,
“定安县”,
“定西”,
“东方”,
“东莞”,
“东营”
]
},
{
“key”: “R”,
“value”: [
“日喀则地区”,
“日照”
]
},
{
“key”: “E”,
“value”: [
“鄂尔多斯”,
“鄂州”,
“恩施土家族苗族自治州”
]
},
{
“key”: “S”,
“value”: [
“三门峡”,
“三明”,
“三亚”,
“山南地区”,
“汕头”,
“汕尾”,
“商洛”,
“商丘”,
“上海”,
“上饶”,
“韶关”,
“邵阳”,
“绍兴”,
“深圳”,
“神农架林区”,
“沈阳”,
“十堰”,
“石河子”,
“石家庄”,
“石嘴山”,
“双鸭山”,
“朔州”,
“思茅”,
“四平”,
“松原”,
“苏州”,
“宿迁”,
“宿州”,
“绥化”,
“随州”,
“遂宁”
]
},
{
“key”: “F”,
“value”: [
“防城港”,
“佛山”,
“福州”,
“抚顺”,
“抚州”,
“阜新”,
“阜阳”
]
},
{
“key”: “T”,
“value”: [
“塔城地区”,
“台北”,
“台北县”,
“台东县”,
“台南”,
“台南县”,
“台中”,
“台中县”,
“台州”,
“太原”,
“泰安”,
“泰州”,
“唐山”,
“桃园县”,
“天津”,
“天门”,
“天水”,
“铁岭”,
“通化”,
“通辽”,
“铜川”,
“铜陵”,
“铜仁地区”,
“图木舒克”,
“吐鲁番地区”,
“屯昌县”
]
}
]
}
相关文章推荐
- 局部数组过大导致编译栈区溢出问题
- 局部数组过大导致编译栈区溢出问题
- 局部数组过大导致编译栈区溢出问题
- 编译参数顺序导致奇怪问题
- MTK6225平台宏控制导致编译资源不通过问题
- linux安装swoole扩展 pcre.h导致编译make failed问题
- 结构体对齐导致结构体数组大小变化引发的指针越界操作问题.
- xcode5 asset catalogs 由于图标尺寸错误导致编译问题解决[原创]
- File里面的open导致文件不可编译的问题
- 数组在for循环中使用splice方法导致索引错乱的问题
- 当心FTP续传导致的代码编译出错问题
- DEBUG_NEW 导致编译失败的问题
- vs2005 No symbols loaded 导致 VS编译慢的问题
- Ubuntu 16.04编译Android,make 版本过高导致编译失败的问题
- [乐意黎原创]PHP里由于数组编码导致json_encode输出为空白问题的解决方法
- Malformed input or input contains unmappable chacraters导致编译失败问题解决
- 今天遇到CFLAGS被改变导致编译出错的问题[已解决 原创] 但还有未理解的地方
- 编译iOS程序时的-all_load选项,以及-all_load 导致的 ld duplicate symbol xx的问题
- C语言编译数组地址分配问题
- gfortran编译Fortran数组问题