zoukankan      html  css  js  c++  java
  • Java工具类

    目录                                                                                            

    • Math
    • Random
    • Date
    • Carlendar
    • DateFormat
    • SimpleDateFoemat
    • Comparator
    • Clone

    Math                                                                                          

    System.out.println("PI的值:"+Math.PI);
            System.out.println("-10的绝对值:"+Math.abs(-10));
            System.out.println("Math.random()="+Math.random());
            System.out.println("Math.round(98.56)="+Math.round(98.568977d));
            System.out.println("Math.round(88.56789)="+Math.round(88.56789*100)/100.0);
            System.out.println("Math.sqrt(2d)="+Math.sqrt(2d));

    Random                                                                                   

    //随机数
            Random r = new Random();
            int x = r.nextInt(100);
            System.out.println("x="+x);

    Date                                                                                          

    //创建了一个日期对象
            Date date = new Date();
            System.out.println("当前时间的毫秒:"+date.getTime());
            System.out.println(date);

    Calendar                                                                                   

    Calendar c = Calendar.getInstance();
    //        Calendar c = new GregorianCalendar();
            
            int year = c.get(Calendar.YEAR);//
            int month = c.get(Calendar.MONTH);//
            int day = c.get(Calendar.DAY_OF_MONTH);//
            int hour = c.get(Calendar.HOUR_OF_DAY);//
            int minute = c.get(Calendar.MINUTE);//
            int second = c.get(Calendar.SECOND);//
            int millisecond = c.get(Calendar.MILLISECOND);//毫秒
            //星期
            String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
            int week = c.get(Calendar.DAY_OF_WEEK);
            
            StringBuilder sb = new StringBuilder();
          sb.append(year).append("年").append(month).append("月").append(day).append("日  ")
            .append(hour).append(":").append(minute).append(":").append(second).append(" ")
            .append(millisecond).append(" ").append(weeks[week]);
            
            System.out.println(sb.toString());

    DateFormat                                                                              

    //        DateFormat df = DateFormat.getDateInstance();
            //参数(指定日期风格,指定语言环境)
    //        DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);
    //        DateFormat df = DateFormat.getTimeInstance();
            DateFormat df = DateFormat.getTimeInstance(DateFormat.LONG, Locale.getDefault());
            
            String nowDate = df.format(new Date());
            System.out.println("当前日期为:"+nowDate);

    SimpleDateFormat                                                                   

    //用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
    //        SimpleDateFormat sdf = new SimpleDateFormat();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            
            String s = sdf.format(new Date());
            System.out.println(s);

    Comparator                                                                              

    /**
     * 人类
     * 如果自定义类的对象要实现排序(比较),那么就要实现Comparable接口,并实现接口的
     * compareTo方法
     */
    public class Person implements Comparable<Person>{
        private String name;
        private int age;    
        public Person() {
        }
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
        //比较器的比较方法
        //如果当前对象小于参数对象,返回-1
        //如果当前对象等于参数对象,返回0
        //如果当前对象大于参数对象,返回1
        @Override
        public int compareTo(Person o) {
            //实现:定义对象之间的比较规则
            if(o==null){
                throw new NullPointerException();
            }
            if(this.age<o.age){
                return -1;
            }else if(this.age>o.age){
                return 1;
            }        
            return 0;
        }
    }
    /**
     * 人类*/
    public class Person2{
        private String name;
        private int age;
            
        public Person2() {
        }
        public Person2(String name, int age) {
            this.name = name;
            this.age = age;
        }
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
    }
    /**
     * 自定义的类比较器
     */
    public class Person2Comparator implements Comparator<Person2>{
    
        @Override
        public int compare(Person2 o1, Person2 o2) {
            if(o1==null || o2==null){
                throw new NullPointerException();
            }
            if(o1.getAge()<o2.getAge()){
                return -1;
            }else if(o1.getAge()>o2.getAge()){
                return 1;
            }
            return 0;
        }
    
    }
    //对象的排序
    public class PersonSortDemo {
        public static void main(String[] args) {
            String[] names = {"张三","李四","王五","刘备","张飞","关羽"};
            
            Person[] persons = { 
                    new Person("张三", 27), new Person("李四", 29),
                    new Person("王五", 41), new Person("刘备", 33),
                    new Person("张飞", 25), new Person("关羽", 30) };
            
            Person2[] persons2 = { 
                    new Person2("张三", 27), new Person2("李四", 29),
                    new Person2("王五", 41), new Person2("刘备", 33),
                    new Person2("张飞", 25), new Person2("关羽", 30) };    
            
            Arrays.sort(names);
            System.out.println(Arrays.toString(names));
            
            //自定义类对象数组排序
            Arrays.sort(persons);
            System.out.println(Arrays.toString(persons));
            
            //使用自定义的比较器
            Arrays.sort(persons2, new Person2Comparator());
            System.out.println(Arrays.toString(persons2));
                    
        }
    }

    Clone                                                                                        

    /**
     * 一个类要想实现克隆功能,必须:
     * 1、实现Cloneable接口,该接口是一个标记接口
     * 2、重写Object类中的clone方法
     */
    public class Cat implements Cloneable{
        private String name;
        private int age;
        
        public Cat(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        
        public Cat() {
            super();
        }
    
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "Cat [name=" + name + ", age=" + age + "]";
        }
        //重写Object的clone方法
        @Override
        protected Object clone() throws CloneNotSupportedException {
            return super.clone();
        }    
    }
    //要创建一组类似的对象,那么从性能上考虑,就可以使用克隆技术
    public class Test {
        public static void main(String[] args) {
            Cat c = new Cat("张三",3);
            System.out.println("c="+c);
            try {
                Cat c1 = (Cat)c.clone();
                System.out.println("c1="+c1);
            } catch (CloneNotSupportedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }

    我是天王盖地虎的分割线                                                                 

  • 相关阅读:
    Django-haystack对接elasticsearch
    Django http 和 https 官网解答
    -bash: nohup: command not found
    Mysql 10060登录异常解决方法
    ssh
    sed grep awk用法
    grep用法
    shell 随笔
    列表生成式
    css
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3890062.html
Copyright © 2011-2022 走看看