この記事の内容は、JavaSE の一般的なクラスとメソッドの紹介 (コード付き) であり、一定の参考価値があります。必要な友人が参照することができます。お役に立てれば幸いです。
1. 基本データ型の比較に使用します: ==
2. 参照データ型の比較に使用します: equals メソッド
参照データ型が == 比較を使用する場合の場合、比較は次のようになります。 アドレス値は次のようになります。
toStringClass
toString() を呼び出すオブジェクトは、このメソッドをオーバーライドする必要があります。 カプセル化されたクラス内それ以外の場合は、アドレスが出力されます
equalsMethod
'Object ' は、equals() を呼び出し、繰り返す必要があります。 書き方: カプセル化クラスで書き換えます。それ以外の場合は、アドレス
String
##String には分割があり、文字列に従って分割され、分割後の文字列配列が返されます。#String[] Split(String regex)public int length (): この文字列の長さを返します。 public String concat (String str): 指定された文字列を文字列の末尾に連結します。 public char charAt (int index): 指定されたインデックスの char 値を返します。 public int indexOf (String str): 文字列内で指定された部分文字列が最初に出現するインデックスを返します。 public intindexOf(String str, int fromIndex): 指定されたインデックスから開始して、この文字列内で指定された部分文字列が最初に出現するインデックスを返します。 public String substring (int beginIndex): beginIndex から文字列の終わりまでの文字列をインターセプトして、部分文字列を返します。 public String substring (int beginIndex, int endIndex): beginIndex から endIndex までの文字列をインターセプトする部分文字列を返します。 beginIndex は含まれますが、endIndex は含まれません。 public String replace (CharSequence target, CharSequence replace): ターゲットに一致する文字列を置換文字列に置き換えます。 #StringBuilderClass
String Builder はメモリ内のバッファ コンテナに相当し、メモリが閉じられると閉じられます。消えます。アドレス メモリ内の文字を結合するときに、追加された文字のメモリ アドレスを作成しないで、メモリ領域を節約します。
##StringBuilder() 文字を含まない文字列ビルダーを構築します。初期容量は 16 文字です。
StringBuilder(String str) 指定された文字列コンテンツに初期化された文字列ビルダーを構築します
Arrays クラス
#になります。 ##public static String toString(int[] a): 配列を文字列に変換しますpublic static void sort(int[] a): 配列を昇順に並べ替えます
ラッパー クラスを String クラスに変換します。
int 型は String 型に直接結合できます。
int->String
1 ""
String.valueOf() メソッドは、基本型データを String 型に変換できます。
String.valueOf(data);
Packaging class.ParseXXX メソッドは、基本型を String 型に変換できます。基本型は対応するパッケージに変換する必要があります。クラス、以下は int を String
int->String (key)
Integer.parseInt("100")# に変換する例です。
##Date クラス
Java には、ミリ秒単位の正確な日付と時刻を表す java.util.Date があります。 Date クラス:Date() パラメータなしの構築メソッド: 現在のシステム時刻に基づいて Date オブジェクトを作成する
Date(long 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(String pattern) 指定されたパターンを使用して SimpleDateFormat を構築します。デフォルトの日付書式記号は、デフォルトの FORMAT ロケールです。
パラメータ パターンはパターンです。
文字パターン: y は表面を表します M は月を表します d は日を表します H は時間を表します m は分を表します s は秒を表します S はミリ秒を表します
中国時間: March 11, 2019 11:09:33 秒 333 ミリ秒
コードのアルファベットパターン: yyyy 年 MM 月 dd 日 HH 点 mm 分 ss 秒 SSS ミリ秒
メンバーメソッド:
書式設定 (日付 -> テキスト): 日付 -- 文字列
public Final String format(Date date)
解析 (テキスト -> 日付): 文字列 -- 日付
public Date parse(文字列ソース)
//根据系统时间创建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 クラスは、特定のカレンダー フィールドを表す多くのメンバー定数を提供します:
フィールド値 |
意味 |
##年 | ##年|
月 (0 から始まり、1 として使用可能) | |
日付 (日) | |
時間 (12 時間)形式) | #HOUR_OF_DAY |
# 時間 (24 時間形式) |
#分 |
##秒 | |
##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(); } } |
##システム クラス |
public static long currentTimeMillis(): 現在時刻をミリ秒単位で返します。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length): 配列内で指定されたデータを別の配列にコピーします。
currentTimeMillis
import java.util.Date; public class SystemDemo { public static void main(String[] args) { //获取当前时间毫秒值 System.out.println(System.currentTimeMillis()); // 1516090531144 } }arraycopy
メソッド
パラメータ名
##パラメータの意味 |
1 | #src |
オブジェクト |
# #2 | srcPos | int | |
3 | dest | オブジェクト | |
##4 | ##destPos | int | ターゲット配列インデックスの開始位置 |
5 | 長さ | 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 中国語 Web サイトの他の関連記事を参照してください。