您的位置:首页 > 其它

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”: [

“塔城地区”,

“台北”,

“台北县”,

“台东县”,

“台南”,

“台南县”,

“台中”,

“台中县”,

“台州”,

“太原”,

“泰安”,

“泰州”,

“唐山”,

“桃园县”,

“天津”,

“天门”,

“天水”,

“铁岭”,

“通化”,

“通辽”,

“铜川”,

“铜陵”,

“铜仁地区”,

“图木舒克”,

“吐鲁番地区”,

“屯昌县”

]

}

]

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  泛型 koltin compar