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();
        }
    }

}

我是天王盖地虎的分割线                                                                 

Java工具类,布布扣,bubuko.com

时间: 2024-12-26 14:26:05

Java工具类的相关文章

第一章 Java工具类目录

在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算

Java工具类:给程序增加版权信息

我们九天鸟的p2p网贷系统,基本算是开发完成了.   现在,想给后端的Java代码,增加版权信息.   手动去copy-paste,太没有技术含量. 于是,写了个Java工具类,给Java源文件增加版权信息.   源代码,开头的注释,就是版权描述.详细实现,就看代码吧.  /*  *Copyright ? 2015 JiuTianNiao  *武汉九天鸟科技有限公司  *http://JiuTianNiao.com  *All rights reserved.  */ package com.j

java工具类系列 (四.SerializationUtils)

java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Serializable;

java工具类-邮件发送

mail-1.4.jar package com.huawei.it.citools.mail; import java.util.Date;import java.util.List;import java.util.Properties; import javax.mail.Address;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax

java工具类-读配置文件

///读配置文件 import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Properties;import java.util.Set;public class PropertiesUtils{ private static Map<String, String> propertiesMap = new HashMa

java工具类-excel jxl

jxl-2.6.9.14.jarimport net.sf.jxls.transformer.XLSTransformer;//jxls-core-1.0.2.jarimport java.io.File; public File inputFile;     Workbook workbook = WorkbookFactory.create(inputFile);    Sheet sheet0 = workbook.getSheetAt(0);        int rowNum = sh

java工具类-FreeMarker

package com.huawei.it.citools.utils; import java.io.File;import java.io.IOException;import java.io.StringWriter;import java.util.Map; import org.apache.log4j.Logger; import com.huawei.it.citools.commons.ApplicationException;import com.huawei.it.citoo

应用Java去除一维数组中的重复数字,且不借助任何java工具类。

昨天有个朋友突然问了我这个问题,一时我竟然无言以对,刚开始就是局限于没办法记录重复位置,作为刚刚接触java语言的菜鸟,绞尽脑汁地一最笨的方法实现了,还望大神指点出更好的方法. public class Test01 { public static void main(String[] args) { test1(); } /** * 方法名: test1 * 方法描述:一位数组去除重复的数字,不借助java工具类,方法比较笨拙,还请高手指点 * @param: Test01 * @return

排名前 16 的 Java 工具类

在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.socket.或者selector且不抛出异常,通常放在finally块 toString:转换IO流. Uri. byte[]为String copy:IO流数据复制,从输入流写到输出流中,最大支