Collections 数组 Comparable 泛型转换失败 导致编译不了的问题

来源:互联网 发布:rhino mac下载 编辑:程序博客网 时间:2024/06/06 07:04
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”: [
“拉萨”,
“来宾”,
“莱芜”,
“兰州”,
“廊坊”,
“乐东黎族自治县”,
“乐山”,
“丽江”,
“丽水”,
“连云港”,
“凉山彝族自治州”,
“辽阳”,
“辽源”,
“聊城”,
“林芝地区”,
“临沧”,
“临汾”,
“临高县”,
“临夏回族自治州”,
“临沂”,
“陵水黎族自治县”,
“柳州”,
“六安”,
“六盘水”,
“龙岩”,
“陇南”,
“娄底”,
“泸州”,
“吕梁”,
“洛阳”,
“漯河”
]
},
{
“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”: [
“塔城地区”,
“台北”,
“台北县”,
“台东县”,
“台南”,
“台南县”,
“台中”,
“台中县”,
“台州”,
“太原”,
“泰安”,
“泰州”,
“唐山”,
“桃园县”,
“天津”,
“天门”,
“天水”,
“铁岭”,
“通化”,
“通辽”,
“铜川”,
“铜陵”,
“铜仁地区”,
“图木舒克”,
“吐鲁番地区”,
“屯昌县”
]
}
]
}

阅读全文
0 0