ホームページ Java &#&チュートリアル JavaSE の共通クラスとメソッドの概要 (コード付き)

JavaSE の共通クラスとメソッドの概要 (コード付き)

Apr 15, 2019 am 10:13 AM
javase

この記事の内容は、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): ターゲットに一致する文字列を置換文字列に置き換えます。

#StringBuilder

Class

String Builder はメモリ内のバッファ コンテナに相当し、メモリが閉じられると閉じられます。消えます。アドレス メモリ内の文字を結合するときに、追加された文字のメモリ アドレスを作成しないで、メモリ領域を節約します。

##StringBuilder() 文字を含まない文字列ビルダーを構築します。初期容量は 16 文字です。

StringBuilder(String str) 指定された文字列コンテンツに初期化された文字列ビルダーを構築します

StringBuilder sb = new StringBuilder();

public StringBuilder append (任意の型) ): データを追加し、オブジェクト自体を返します (連鎖呼び出しがサポートされています)。

public StringBuilder reverse(): 文字シーケンスを反転します。

public String toString(): このシーケンス内のデータの文字列表現を返します。 String に変換

append メソッドの欠点: 任意の型を結合できますが、結合が完了すると string

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 クラスは、特定のカレンダー フィールドを表す多くのメンバー定数を提供します:

##年MONTH月 (0 から始まり、1 として使用可能)##DAY_OF_MONTHHOUR#HOUR_OF_DAY#分 #Seconds##DAY_OF_WEEK曜日 (曜日、日曜日は 1、使用可能 - 1 回) )##システム クラス

フィールド値

意味

##年

日付 (日)

時間 (12 時間)形式)

# 時間 (24 時間形式)

#分

##秒

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

メソッド


#パラメータ番号

パラメータ名

#パラメータ タイプソース配列ソース配列インデックスの開始位置宛先配列##4

##パラメータの意味

1

#src

オブジェクト

# #2

srcPos

int

3

dest

オブジェクト

##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);
        }
ログイン後にコピー

比较器Comparable 和 Comparator

java.lang Comparable : 该接口对实现它的每个类的对象强加一个整体排序。 这个排序被称为类的自然排序 ,类的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 Comparator : 比较器接口。

抽象方法:

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

比较器接口的使用场景:

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

2. Collections 集合工具类 : void sort(List list, Comparator<> 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Mar 11, 2025 pm 05:51 PM

この記事では、Lambda式、Streams API、メソッド参照、およびオプションを使用して、機能プログラミングをJavaに統合することを調べます。 それは、簡潔さと不変性を通じてコードの読みやすさと保守性の改善などの利点を強調しています

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? 高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

非ブロッキングI/OにJavaのNIO(新しい入出力)APIを使用するにはどうすればよいですか? 非ブロッキングI/OにJavaのNIO(新しい入出力)APIを使用するにはどうすればよいですか? Mar 11, 2025 pm 05:51 PM

この記事では、単一のスレッドで複数の接続を効率的に処理するためにセレクターとチャネルを使用して、非ブロッキングI/O用のJavaのNIO APIについて説明します。 プロセス、利点(スケーラビリティ、パフォーマンス)、および潜在的な落とし穴(複雑さ、

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか? 適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか? Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

ネットワーク通信にJavaのソケットAPIを使用するにはどうすればよいですか? ネットワーク通信にJavaのソケットAPIを使用するにはどうすればよいですか? Mar 11, 2025 pm 05:53 PM

この記事では、ネットワーク通信のためのJavaのソケットAPI、クライアントサーバーのセットアップ、データ処理、リソース管理、エラー処理、セキュリティなどの重要な考慮事項をカバーしています。 また、パフォーマンスの最適化手法も調査します

See all articles