1245464283843:aaa 1245466943750:bbb 1245484933375:ccc
我拿到的数据是这样的,前面是个long类型的转化成数据,后面是个字符串,用:分开
怎么把这三对数据转换,我好再也页面上显示

解决方案 »

  1.   

    没有明面..1245464283843:aaa 1245466943750:bbb 1245484933375:ccc 这可以LONG类型吗?
      

  2.   


    import java.util.*;public class Test{ 
        public static void main(String[] arg) { 
         String str="1245464283843:aaa 1245466943750:bbb 1245484933375:ccc";
         Map<Long,String> map=new HashMap<Long,String>();
         String [] str2=str.split(" ");
         for(String temp:str2){
         String[] str3=temp.split(":");
         map.put(Long.valueOf(str3[0]), str3[1]);
         }
         for(Map.Entry<Long, String> tempMap:map.entrySet()){
         System.out.println(tempMap.getKey());
         System.out.println(tempMap.getValue());
         }
        } 

      

  3.   

    import java.util.Date;public class Transform {
    public static void main(String[] args) {
    String s="1245464283843:aaa 1245466943750:bbb 1245484933375:ccc";
    String[] ss=s.split(" ");
    for(int i=0;i<ss.length;i++){
    long l=Long.parseLong(ss[i].split(":")[0]);
    Date d=new Date(l);
    System.out.println(d);
    }

    }
      

  4.   

    代码如下:
    public class Splittest {
    public static void main(String[] args) {
    String str="1245464283843:aaa 1245466943750:bbb 1245484933375:ccc";
    String strs[]=str.split(" ");
    String arr[]=null;
    for(int i=0;i<strs.length;i++){
    arr=strs[i].split(":");
    System.out.println(Long.parseLong((arr[0])));
    System.out.println(arr[1]);
    } }}
    先根据空格把它分成三个部分放在strs中,在根据“:”把Strs数组分成两个部分 ,最后打印出来就可以了
      

  5.   

    这是改进版。。
    import java.text.SimpleDateFormat;
    import java.util.Date;public class Transform {
    public static void main(String[] args) {
    String s="1245464283843:aaa 1245466943750:bbb 1245484933375:ccc";
    String[] ss=s.split(" ");
    for(int i=0;i<ss.length;i++){
    long l=Long.parseLong(ss[i].split(":")[0]);
    Date d=new Date(l);
    SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd hh:MM:ss");
    System.out.println(ss[i].split(":")[1]+": "+sd.format(d));
    }

    }
      

  6.   

    import java.util.LinkedList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Parser {    private String str;
        
        private static Matcher matcher = Pattern.compile("\\d+:.+?(?= +\\d| *$)").matcher("");
        
        public Parser(String str) {
            this.str = str;
        }
        
        public List<DataBean> parse() {
            List<DataBean> data = new LinkedList<DataBean>();
            matcher.reset(str);
            while(matcher.find()) {
                String str = matcher.group();
                data.add(new DataBean(str));
            }
            return data;
        }
        
        public static void main(String[] args) {
            String str = "1245464283843:abaa 1245466943750:bbb 1245484933375:ccc";
            Parser p = new Parser(str);
            List<DataBean> data = p.parse();
            for(DataBean bean : data) {
                System.out.println(bean.toString());
            }
        }
    }public class DataBean {    private Long serialNumber;
        private String name;
        
        public DataBean(String str) {
            int idx = str.indexOf(':');
            this.serialNumber = Long.valueOf(str.substring(0, idx));
            this.name = str.substring(idx + 1);
        }
        
        public DataBean(Long serialNumber, String name) {
            this.serialNumber = serialNumber;
            this.name = name;
        }
        public Long getSerialNumber() {
            return serialNumber;
        }
        public void setSerialNumber(Long serialNumber) {
            this.serialNumber = serialNumber;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        
        public String toString() {
            return this.serialNumber + ":" + this.name;
        }
    }