目次
StringBuffer: " >StringBuffer:
基本数据类型包装类:
ホームページ Java &#&チュートリアル Java API の詳細な紹介 (例付き)

Java API の詳細な紹介 (例付き)

Sep 26, 2018 pm 03:35 PM
api java

この記事では、Java API について詳しく説明します (例を示します)。必要な方は参考にしていただければ幸いです。

はじめに:

いわゆる API は、作成されたいくつかのクラス ライブラリであり、直接呼び出すことができます。 ##Java API であり、まだ開発中です。 # まず、Java ヘルプ ドキュメントをオンラインで入手し、それを解凍して、対応する API を見つけます。

Java 共通パッケージの紹介:

    java.lang は、Java プログラミング言語を使用したプログラミングのための基本クラスを提供します。
  • java until コレクション フレームワーク、従来のコレクション クラス、イベント モデル、日時機能、国際化、およびさまざまなユーティリティ クラスが含まれています。
  • java io は、データ ストリーミング、シリアル化、およびファイル システムを通じてシステムの入出力を提供します。
  • #Java アプレットは、アプレットの作成に必要なクラスと、アプレットが他のアプレット コンテキストと通信するために使用するクラスを提供します。
  • java awt には、ユーザー インターフェイスの作成とグラフィック イメージの描画に使用されるすべてのクラスが含まれています。
  • Java Beans Bean の開発に関連するクラス、つまり javaBeans アーキテクチャに基づくコンポーネントが含まれています。
  • #java math には、任意精度の整数演算 (BigInteger) と任意精度の小数演算 (BigDecimal) を実行するためのクラスが用意されています。

  • #java net は、ネットワーク アプリケーションを実装するためのクラスを提供します。

  • java sql は、Java プログラミング言語を使用して、データ ソース (通常はリレーショナル データベース) に格納されているデータにアクセスして処理するための API を提供します。

  • String クラス:

    String クラスの初期化操作: Java には、String クラスを初期化する 2 つの方法があります。
1 文字列定数を直接使用するString name = "Zhang San" などの String オブジェクトを初期化します。

2 String 構築メソッドを使用して、

などの文字列オブジェクトを初期化します。メソッド

意味String ()空のコンテンツを含む文字列を作成しますStirng ( String value)指定された文字列に基づいてオブジェクトを作成します。contentString (char[] value)指定された文字に基づいてオブジェクトを作成します。配列# ###########

栗をあげる:

public static void main(String[] args){
    String s1 =new String();//创建空字符串
    String s2 = new String("张三")//创建一个内容为张三的字符串
    char[] charArray = new char[]{'A','B','C'};
    String s3 = new String(charArray);
    System.out.println(s1);
    System.out.println(s2);
    System.out.println(s3);

}
ログイン後にコピー

Sring クラスの一般的に使用されるメソッド:

Basic文字列操作:

public static void main(String[] args) {
String s ="abcdefhckoj";//声明字符串
System.out.println("字符串的长度为:"+s.length());//获取字符串长度, 即字符个数
System.out.println("字符串第一个字符:"+s.charAt(0));
System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
System.out.println("字符c最后一次出现的位置:"+s.lastIndexOf('c'));
}
ログイン後にコピー

文字列と配列間の変換:

public class Demo{
    public static void main(String[] args){
    String s = "abcdesgs";//声明一个字符串
    System.out.println("将此字符串装换为数组");
    char [] charArray = s.toCharArray();//字符串转换为字符数组。
    System.out.println("[);
    for(int i=0;i,charArray.length;i++){
          if(i !=charArray.length-1);
         Syetem.out.println(charArray[i]+",");
             //判断是否是数组最后一个元素,如果不是则在后面添逗号码
    }else{
        //否则 数组最后一个元素不加逗号。
 
       Syetem.out.println(charArray[i]+"]");
}
}
        Syetem.out.println("将Int 类型转换为String 类型:" +String.valueOf(20));
}
}
ログイン後にコピー

文字列判定操作:

public static void main(String[] args) {
String str1 = "abcdsg";//声明一个字符串
String str2 = "adc";
System.out.println("判断是否以字符串abc开头:"+str1.startsWith("abc"));
System.out.println("判断是否以字符串sg结尾:"+str1.endsWith("sg"));
System.out.println("判断是否包含字符串ds:"+str2.contains("ds"));
System.out.println("判断是否为空:"+str1.isEmpty());
System.out.println("判断两个字符串是否相等"+str1.equals(str2));
ログイン後にコピー

文字列のインターセプトと分割
String クラスは文字列のインターセプトと分割を提供します。 、substring() メソッドは文字列の一部をインターセプトするために使用され、split() メソッドは特定の文字に従って文字列を分割できます。

package com.project.demo;

public class Test {
         public static void main(String[] args) {
            String string = "张三-李四-王五"; 
            //截取字符串
            System.out.println("从第4个字符截取到最后:"+string.substring(3));
            System.out.println("从第3个字符截取到第6:"+string.substring(2,6));
            // 字符串分割
            System.out.println("分割后的字符串数组元素依次是: ");
            String[] stringArray =string.split("-");//通过- 字符为标志,将其分割为字符串数组
            for(int i =0;i<stringArray.length;i++) {
                if(i != stringArray.length-1 ) {
                    System.out.println(stringArray[i]+",");
                    
                }else {
                    System.out.println(stringArray[i]);
                    System.out.println(string.length());
                }
                
            }
            
        }
}
ログイン後にコピー

スペースの削除と置換操作:

package com.project.demo;
public class Test {
         public static void main(String[] args) {
             String string = "    hello     word   ";
             //字符串替换操作
             System.out.println("将word 替换成java :"+string.replace("word", "java"));
             //字符串去空操作
             System.out.println("去除字符串两端的空格:"+ string.trim());
             System.out.println("去除字符串中所有空格: "+string.replace(" ", ""));
             System.out.println("将小写转换为大写 : " + string.toUpperCase());
         }
}
ログイン後にコピー

注意すべき点の 1 つは、文字列が特定の文字を使用していることです。文字列内の文字にアクセスするときに、文字のインデックスが存在しない場合、StringIndexOutOfBoundsException(String subscript out-of-boundsException) が発生します。

StringBuffer:

文字列の変更を容易にするために、 JDK は StringBuffer クラス (文字バッファとも呼ばれます) を提供します。 StringBuffer クラスと String クラスの最大の違いは、文字の追加または削除時に StringBuffer が可変であることです。 StringBufferオブジェクトが生成されます。

API の StringBuffer の一般的なメソッドを見てみましょう:

インタビュー中に、String、StringBuffer、StringBuilder の違いについてよく質問されます??

簡単に言うと、、String 文字列定数 StringBuffer 文字列変数 (スレッド セーフ) StringBuilder 文字列変数 (非スレッド セーフ) String 型と StringBuffer 型の主なパフォーマンスの違いは、String が不変オブジェクトであるため、String 型が変更されるたびに、実際には新しい String オブジェクトを生成し、その新しい String オブジェクトへのポインタを指すのと同じことになります。したがって、頻繁に内容を変更する文字列には String を使用しないことをお勧めします。なぜなら、オブジェクトが生成されるたびにシステムのパフォーマンスに影響が出るからです。特に、メモリ内に参照されていないオブジェクトが多すぎると、JVM の GC が動作し始め、速度が確実に遅くなります。

StringBuffer クラスを使用する場合、新しいオブジェクトを生成してオブジェクト参照を変更するのではなく、各結果は StringBuffer オブジェクト自体を操作します。したがって、一般に、特に文字列オブジェクトが頻繁に変更される場合には、StringBuffer を使用することをお勧めします。一部の特殊なケースでは、String オブジェクトの文字列連結は、実際には JVM によって StringBuffer オブジェクトの連結として解釈されるため、このような場合、String オブジェクトの速度が StringBuffer オブジェクトの速度よりも遅くなることはなく、特に次の文字列オブジェクトはこのうち、String の効率は StringBuffer よりもはるかに高速です。とてもうれしいです。String S1 オブジェクトの生成速度が速すぎることに気づき、驚きました。現時点では、StringBuffer には速度の点でまったく利点がありません。実際、これは JVM のトリックであり、この String S1 = “This is just a” “simple” “test” は実際には次のようになります。もちろん、多くの時間をかける必要はありません。

しかし、ここで注意すべき点は、文字列が別の String オブジェクトからのものである場合、速度はそれほど速くないということです。たとえば:

String S2 = “This is only a”; String S3 = “ simple”;
String S4 = “ test”;
String S1 = S2 +S3 + S4;
ログイン後にコピー

这时候 JVM 会规规矩矩的按照原来的方式去做 在大部分情况下 StringBuffer > String StringBuffer Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。 StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。

在大部分情况下 StringBuilder > StringBuffer java.lang.StringBuilde java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。

基本数据类型包装类:

何为包装类?

java.lang包中有各种原生类相对应的类, 称作数值包装类。 这些类的名称, 大部分均以各原生类类型第一个字母换成大写的方式来命。简单的说就是将数据装换为对象,来应用更多的方法。

booleanBoolean
byteByte
shortShort
intInteger
longLong
charChracter
floatFloat
doubleDouble

包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型, 反之, 拆箱是指将引用数据类型的对象转为基本数据类型。

举个栗子:

方式一: 通过new关键字
Integer in = new Integer(5);
方式二: 直接赋值
Integer in = 5;
ログイン後にコピー

构造函数可将原生数据类型数值或代表数值的字符串转换成一数值包装对象。

如: 在Double类中的构造函数
Double(double value)
Double(String s)
例:

Double tax=Double(8332349823.234);
ログイン後にコピー

 在数值包装类中所定义的方法, 最常用到的就是一些用来做字符串与数值间转换的方法。比如:

static float parseFloat(String s)
static Float valueof(String s)
static String toString(float f)
在使用包装类的时候我们需要注意一些问题.

1、 包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值;
2、 除了Character外, 包装类都有parseXXX(String s)的静态方法,将字符串转换为对应的基本类型的数据。 参数s不能为null, 而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错;
3、 除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象, 但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据,否则虽然编译通过, 但运行时也会报错

以上がJava API の詳細な紹介 (例付き)の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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の完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

カプセルの量を見つけるためのJavaプログラム カプセルの量を見つけるためのJavaプログラム Feb 07, 2025 am 11:37 AM

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4

未来を創る: まったくの初心者のための Java プログラミング 未来を創る: まったくの初心者のための Java プログラミング Oct 13, 2024 pm 01:32 PM

Java は、初心者と経験豊富な開発者の両方が学習できる人気のあるプログラミング言語です。このチュートリアルは基本的な概念から始まり、高度なトピックに進みます。 Java Development Kit をインストールしたら、簡単な「Hello, World!」プログラムを作成してプログラミングを練習できます。コードを理解したら、コマンド プロンプトを使用してプログラムをコンパイルして実行すると、コンソールに「Hello, World!」と出力されます。 Java の学習はプログラミングの旅の始まりであり、習熟が深まるにつれて、より複雑なアプリケーションを作成できるようになります。

See all articles