Java常用方法

1. StringBuffer 字符串反转
public class StringBufferDemo {  
    public static void main(String[] args) {  
        //创建字符串缓冲区对象  
        StringBuffer sb = new StringBuffer();  
          
        //添加功能  
        sb.append("hello").append("world").append("java");  
        System.out.println("sb:"+sb);  
          
        //反转功能      public StringBuffer reverse():  
        sb.reverse();  
        System.out.println("sb:"+sb);  
    }  
}  
2. 字符串前导0
public class TestStringFormat {  
  public static void main(String[] args) {  
    int youNumber = 1;  
    // 0 代表前面补充0   
    // 10代表长度为10   
    // d 代表参数为正数型   
    String str = String.format("%010d", youNumber);  
    System.out.println(str); // 0000000001   

    String str = "000100058";  
    System.out.println(str.replaceFirst("^0*", ""));
  }  
}
3. 日期时间格式化
public class Format {  
    public static void main(String[] args) {  
        Date ss = new Date();  
        System.out.println("一般日期输出:" + ss);  
        System.out.println("时间戳:" + ss.getTime());  
        //Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样  
        SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间  
        System.out.println("格式化结果0:" + time);  
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");  
        time = format1.format(ss.getTime());  
        System.out.println("格式化结果1:" + time);  
    }  
}
4.ArrayList<T> 排序
  • compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable<T>接口的,必须重写public int compareTo(T o)方法,比如MapReduce中Map函数和Reduce函数处理的 <key,value>,其中需要根据key对键值对进行排序,所以,key实现了WritableComparable<T>接口,实现这个接口可同时用于序列化和反序列化。WritableComparable<T>接口(用于序列化和反序列化)是Writable接口和Comparable<T>接口的组合;
  • compare(Object o1,Object o2)方法是java.util.Comparator<T>接口的方法,它实际上用的是待比较对象的compareTo(Object o)方法。
public class User implements Comparable<Object>{
    int id;
    String name;
    
    public User(int id,String name){
        this.id = id;
        this.name = name;
    }
    /*
     * Getters and Setters
    */
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
       
    @Override
    public int compareTo(Object o) {
        if(this ==o){
            return 0;            
        }
        else if (o!=null && o instanceof User) {   
            User u = (User) o; 
            if(id<=u.id){
                return -1;
            }else{
            return 1;
        }
    }else{
        return -1;
    }
}
}

public class Test{
    //编写Comparator,根据User的id对User进行排序
    private static final Comparator<User> COMPARATOR = new Comparator<User>() {
       public int compare(User o1, User o2) {
           return o1.compareTo(o2);//运用User类的compareTo方法比较两个对象       
      }
   };
    
    public static void main(String[] args) {
        ArrayList<User> student = new ArrayList<User>();
        User user1 = new User(1,"yueliming");
        User user2 = new User(2,"yueliming");
    
        Collections.sort(student, COMPARATOR);//用我们写好的Comparator对student进行排序
        for(int i=0;i<student.size();i++){
            System.out.println(student.get(i).getId());
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,805评论 18 399
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,465评论 0 16
  • 近日一直在身体健康上折腾,各种吃药,其实也就是想让自己更健康。那么自己现在身体几何,其实也简单,代谢不好,太胖,运...
    秋水不辨牛马阅读 155评论 0 0
  • 操场地 你又提我 该死的 谁的梦里见谁? 夜已深 时隔多年 还活着? 期望共场葬礼 启明星 像顶冠冕 最黑暗 也有...
    石中麦阅读 247评论 0 3
  • 伟大的Grimoire1 又或控制天界,空中, 地上,和地下的灵的艺术。 包含与亡者交谈的真实秘法, 一切博彩的取...
    空白_7阅读 6,161评论 0 7

友情链接更多精彩内容