>  기사  >  Java  >  JavaSE 공통 클래스 및 메소드 소개(코드 포함)

JavaSE 공통 클래스 및 메소드 소개(코드 포함)

不言
不言앞으로
2019-04-15 10:13:022808검색

이 글은 일반적인 JavaSE 클래스와 메소드(코드 포함)를 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 기본 데이터 유형 비교 사용: ==

2 참조 데이터 유형 비교 사용: 같음 메서드

참조 데이터 유형이 == 비교를 사용하는 경우 주소 값이 비교됩니다

toString

객체는 toString()을 호출할 때 이 메서드를 재정의해야 합니다. 캡슐화된 클래스에서 그렇지 않으면 출력은 주소입니다

equalsmethod

'Object'는 equals()를 호출하고 이 메서드를 재정의해야 합니다. 캡슐화된 클래스를 다시 작성해야 합니다. 그렇지 않으면 비교할 때 주소가 비교됩니다.


StringClass

String에는 문자열에 따라 잘라내어 문자열 배열을 반환하는 분할이 있습니다. after Splitting

String[] Split(String regex)

public int length (): 이 문자열의 길이를 반환합니다.

public String concat(String str): 지정된 문자열을 문자열 끝에 연결합니다.

public char charAt(int index): 지정된 인덱스의 char 값을 반환합니다.

public int indexOf(String str): 문자열 내에서 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다.

public int indexOf(String str, int fromIndex): 지정된 인덱스부터 시작하여 이 문자열에서 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다.

public String substring (int BeginIndex): BeginIndex부터 시작하여 문자열 끝까지의 문자열을 가로채서 하위 문자열을 반환합니다.

public String substring (int BeginIndex, int endIndex): BeginIndex부터 endIndex까지의 문자열을 가로채서 하위 문자열을 반환합니다. BeginIndex는 포함하지만 endIndex는 포함하지 않습니다.

public String replacement(CharSequence target, CharSequence replacement): 대상과 일치하는 문자열을 대체 문자열로 교체합니다.

StringBuilder class

String Builder는 메모리의 버퍼 컨테이너와 동일하며, 메모리가 닫히면 사라집니다. 주소에서 문자를 이어붙일 때 추가된 문자에 대한 메모리를 생성하지 않습니다. 메모리 주소는 메모리 공간을 절약합니다.

StringBuilder() 문자 없이 초기 용량이 16자인 문자열 작성기를 구성합니다.

StringBuilder(String str) 지정된 문자열 콘텐츠로 초기화된 문자열 빌더를 구성합니다.

StringBuilder sb = new StringBuilder();

public StringBuilder 추가(모든 유형): 데이터를 추가하고 개체 자체를 반환합니다(지원되는 연결 호출) .

public StringBuilder reverse(): 문자 시퀀스를 뒤집습니다.

public String toString(): 이 시퀀스에 있는 데이터의 문자열 표현을 반환합니다. Convert to String

append 메서드의 단점: 모든 유형을 연결할 수 있지만 연결이 완료된 후에는 string

Arrays class

public static String toString(int[] a)이 됩니다. 배열을 다음으로 변환합니다. a string

public static void sort(int[] a): 배열을 오름차순으로 정렬

Wrapper 클래스와 String 클래스를 서로 변환

Int 유형을 직접 문자열 유형으로 접합하여 변환 가능 to String type

int->String

1+ ""

String.valueOf() 메소드는 기본 유형 데이터를 String 유형으로 변환할 수 있습니다.

String.valueOf(data);

Packaging 클래스.ParseXXX 메소드는 변환할 수 있습니다. 기본 유형을 String 유형으로 변환해야 합니다. 해당 패키징 클래스로 변환해야 합니다. 다음은 int를 String

int->String(핵심 포인트)

Integer.parseInt("100)으로 변환하는 예입니다. ")

Date 클래스

java에는 java.util.Date가 있습니다. 날짜와 시간을 나타내며 밀리초 단위까지 정확합니다.

Date 클래스 구성 방법:

Date() 매개변수 없는 구성 방법: Date 생성 현재 시스템 시간 기준 객체

Date(긴 날짜): 지정된 밀리초 값에 따라 Date 객체를 생성합니다. 지정된 밀리초 값, 1970년 1월 1일(컴퓨터 기준 시간) 이후 경과된 밀리초 값

공통 메소드:

public long getTime() 날짜 객체를 해당 시간 밀리초 값으로 변환합니다.

void setTime(long time) 이 Date 객체를 1970년 1월 1일 00:00:00 이후 경과된 밀리초 값으로 설정합니다

//请打印出1970年1月2号的时间的对象
    Date date2 = new Date(24 * 60 * 60 * 1000);
    System.out.println(date2);
  //获取当前时间的毫秒值
    Date date = new Date();
    System.out.println(date.getTime());
  //将date,改成1970年1,月1号   
    date.setTime(0);
    System.out.println(date);

SimpleDateFormatclass

DateFormat 클래스를 사용할 수 있지만 이는 추상 클래스이므로 주어진 패턴을 사용하여 SimpleDateFormat을 구축하려면 해당 하위 클래스 SimpleDateFormat 생성자

SimpleDateFormat(문자열 패턴)을 사용해야 합니다. 기본값 날짜 형식 기호는 기본 FORMAT 로케일입니다.

매개변수 패턴은 패턴입니다

문자 패턴: y는 표면을 나타냅니다. M은 월을 나타냅니다. d는 일을 나타냅니다. H는 시간을 나타냅니다. m은 분을 나타냅니다. s는 초를 나타냅니다. S는 밀리초를 나타냅니다.

중국 시간: 2019년 3월 11일 11 :09:33 333 밀리초

코드 문자 패턴: yyyy 연도 MM 월 dd 일 HH 포인트 mm 분 ss 초 SSS 밀리초

멤버 메소드:

형식(날짜-> 텍스트): 날짜 -- 문자열

public 최종 문자열 형식(날짜 날짜)

parse(텍스트-> 날짜): 문자열 -- Date

public 날짜 구문 분석(문자열 소스)

//根据系统时间创建Date对象
        Date date = new Date();
        System.out.println(date);

        //date不好看,格式化为中国式时间
     //SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH点mm分ss秒 SSS毫秒");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM-dd  HH:mm:ss");
        //将date格式化为String
        String time = sdf.format(date);
        System.out.println(time);

        //注意,我们一般人不会记忆毫秒值,能不能根据具体的时间(2019-03-11  11:16:02)解析成毫秒值
        //ParseException: Unparseable date: "2018年03-11  11:18:57",注意,模式必须与之前一致
        Date date1 = sdf.parse("2018年03-11  11:18:57");
        System.out.println(date1);
        System.out.println(date1.getTime());

Calendarclass

Calendar는 추상입니다. 클래스, 언어 민감도로 인해 Calendar 클래스는 객체 생성 시 직접 생성되지 않고 정적 메서드를 통해 생성되고 하위 클래스 객체를 반환합니다.

Calendar 클래스의 API 문서에 따르면 일반적인 메서드는 다음과 같습니다.

public int get(int field): 주어진 달력 필드 값을 반환합니다.

public void set(int field, int value): 주어진 달력 필드를 주어진 값으로 설정합니다.

public abstract void add(int field, int amount): 달력의 규칙에 따라 주어진 달력 필드에 지정된 시간을 더하거나 뺍니다.

public Date getTime(): 이 달력 시간 값(원점에서 현재까지의 밀리초 오프셋)을 나타내는 Date 개체를 반환합니다.

Calendar 클래스는 주어진 달력 필드를 나타내는 많은 멤버 상수를 제공합니다.

필드 값

의미

YEAR

year

월(0부터 시작, +1과 함께 사용 가능)

DAY_OF_MONTH

월의 일(일)

HOUR

시간( 12시간제)

HOUR_OF_DAY

시간(24시간 형식)

MINUTE

SECOND

DAY_OF_WEEK

요일(요일, 일요일은 1, -1과 함께 사용할 수 있음)

import java.util.Calendar;
public class CalendarUtil {
    public static void main(String[] args) {
        //get方法
        // 创建Calendar对象
        Calendar cal = Calendar.getInstance();
        // 设置年 
        int year = cal.get(Calendar.YEAR);
        // 设置月
        int month = cal.get(Calendar.MONTH) + 1;
        // 设置日
        int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
        //set方法
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, 2020);
        //add方法
        cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天
        cal.add(Calendar.YEAR, -3); // 减3年
        //getTime方法
        Date date = cal.getTime();
    }    
}

System class

public static long currentTimeMillis(): 반환 현재 시간을 밀리초 단위로 나타냅니다.

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length): 배열에 지정된 데이터를 다른 배열에 복사합니다.

currentTimeMillismethod

import java.util.Date;

public class SystemDemo {
    public static void main(String[] args) {
           //获取当前时间毫秒值
        System.out.println(System.currentTimeMillis()); // 1516090531144
    }
}

arraycopymethod

매개변수 번호

매개변수 이름

매개변수 유형

매개변수 의미

1

src

Object

소스 배열

2

s rcPos

int

소스 배열 인덱스 시작 위치

3

dest

Object

대상 배열

4

d estPos

int

대상 배열 인덱스 시작 위치

5

length

int

복사된 요소 수

import java.util.Arrays;
public class Demo11SystemArrayCopy {
    public static void main(String[] args) {
        int[] src = new int[]{1,2,3,4,5};
        int[] dest = new int[]{6,7,8,9,10};
        System.arraycopy( src, 0, dest, 0, 3);
        /*代码运行后:两个数组中的元素发生了变化
         src数组元素[1,2,3,4,5]
         dest数组元素[1,2,3,9,10]
        */
    }
}

Random

构造方法:

Random() 创建一个新的随机数生成器。

成员方法 :

int nextInt() 从这个随机数生成器的序列返回下一个伪随机数,均匀分布的 int值。

int nextInt(int bound) ,均匀分布 返回值介于0(含)和指定值bound(不包括),从该随机数生成器的序列绘制

Random random = new Random();
        /*for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt());
        }*/
        /*for (int i = 0; i < 10; i++) {
            int j = random.nextInt(10);
            System.out.println(j);
        }*/
        //来一个随机值,这个数据的范围必须是1~100,33~66 54~78
        //random.nextInt(100);//0~99 +1 -> 1~100
        /*33~66 - 33 -> 0~33
        for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt(34) + 33);
        }*/
        //54~78 - 54 -> 0~24
        for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt(25) + 54);
        }

比较器Comparable8742468051c85b06f0a0af9e3e506b5c 和 Comparator8742468051c85b06f0a0af9e3e506b5c

java.lang Comparable8742468051c85b06f0a0af9e3e506b5c : 该接口对实现它的每个类的对象强加一个整体排序。 这个排序被称为类的自然排序 ,类的compareTo方法被称为其自然比较方法 。

java中规定 某个类只要实现了Comparable 接口之后,才能通过重写compareTo()具备比较的功能。

抽象方法:

int compareTo(T o) 将此对象(this)与 指定( o )的对象进行比较以进行排序。

this > o : 返回正数

this = o : 返回0

this < o : 返回负数

' this - o : 表示按照升序排序。 o - this : 表示按照降序排序。

' 小结 : 如果Java中的对象需要比较大小,那么对象所属的类要实现Comparable接口,然后重写compareTo(T o)实现比较的方式。

public class Student implements Comparable<Student>{
    ....
    @Override
    public int compareTo(Student o) {
        return this.age-o.age;//升序
    }
}

java.util Comparator8742468051c85b06f0a0af9e3e506b5c : 比较器接口。

抽象方法:

int compare( T o1, T o2 ) 比较其两个参数的大小顺序。

比较器接口的使用场景:

1. Arrays.sort() : static 8742468051c85b06f0a0af9e3e506b5c void sort( T[] a, Comparator c)

2. Collections 集合工具类 : void sort(List8742468051c85b06f0a0af9e3e506b5c list, Comparatora8093152e673feb7aba1828c43532094 c) 根据指定的比较器给集合中的元素进行排序。

3. TreeSet 集合 : 构造方法 TreeSet( Comparator c )

补充 : 在后面我还会介绍JDK1.8 的新特性(Lambda  函数式代码优化)  进行优化此类接口 

ArrayList<String> list = new ArrayList<String>();
        list.add("cba");
        list.add("aba");
        list.add("sba");
        list.add("nba");
        //排序方法  按照第一个单词的降序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                int rs = o2.getCj() - o1.getCj();
                return rs==0 ? o1.getAge()-o2.getAge():rs;
//                return o2.charAt(0) - o1.charAt(0);
            }
        });
        System.out.println(list);

Comparable 和 Comparator 区别:

Comparable : 对实现了它的类进行整体排序。

Comparator : 对传递了此比较器接口的集合或数组中的元素进行指定方式的排序。

위 내용은 JavaSE 공통 클래스 및 메소드 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제