이 글은 일반적인 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); }
比较器Comparable
java.lang Comparable
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 Comparator
抽象方法:
int compare( T o1, T o2 ) 比较其两个参数的大小顺序。
比较器接口的使用场景:
1. Arrays.sort() : static
2. Collections 集合工具类 : void sort(List
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!