ホームページ Java &#&チュートリアル String は Java のオブジェクトですか、それともクラスですか? Javaの文字列の詳しい説明

String は Java のオブジェクトですか、それともクラスですか? Javaの文字列の詳しい説明

May 22, 2017 am 11:01 AM

オブジェクトやクラスの定義を理解していない人がたくさんいます。たとえば、Java では、String はオブジェクトですか、それともクラスですか? String はクラスであると同時にオブジェクトであるとも言える、という人もいます。

実際、クラスとオブジェクトは実際には抽象的な概念であると彼が言うのは問題ありません。物事のクラスをグループ化して、それに名前、どのクラス、具体的に何をするかを与えることができますが、それをオブジェクトであるとも言えます...

したがって、String はクラスであるとも言えますし、物体。

しかし、たとえば、エディターが詳しく調べたところ、java.lang ではこれが基本クラスであることがわかりました。lang パッケージのソース コードをよく見てみましょう。 。

public final class String extends Object implements Serializable,Comparable < String >,CharSequence
ログイン後にコピー
java.langでは、Stringクラスは文字列を表します。 Java プログラム内のすべての文字列リテラル (「abc」など) は、このクラスのインスタンスとして実装されます。

文字列は不変であり、作成後に値を変更することはできません。文字列バッファーは変更可能な文字列をサポートします。 String オブジェクトは不変であるため、共有できます。例:

  String str =“abc”;
ログイン後にコピー

は次と同等です:

   char data [] = {&#39;a&#39;,&#39;b&#39;,&#39;c&#39;};
     String str = new String(data);
ログイン後にコピー

文字列の使用方法の例をいくつか示します:

   System.out.println( “ABC”);
     String cde =“cde”;
     System.out.println(“abc”+ cde);
     String c =“abc”.substring(2,3);
     String d = cde.substring(1,2);
ログイン後にコピー

String クラスには、シーケンスの個々の文字を確認するメソッド、文字列を比較するメソッド、文字列を検索するメソッド、抽出に使用するメソッドが含まれています。部分文字列を検索し、すべての文字を大文字または小文字に変換した文字列のコピーを作成します。大文字と小文字のマッピングは、Character クラスで指定された Unicode 標準バージョンに基づいています。

Java 言語は、文字列連結演算子 (+) と他のオブジェクトの文字列への変換に対する特別なサポートを提供します。文字列の連結は、StringBuilder (または StringBuffer) クラスとその append メソッドを通じて実装されます。文字列変換は、ObjectJava のすべてのクラスによって定義され、継承される toString メソッドを通じて実装されます。文字列の連結と変換の詳細については、Gosling、Joy、および Steele、Java 言語仕様を参照してください。

特に明記されていない限り、このクラスのコンストラクターまたはメソッドに null 引数を渡すと、NullPointerException がスローされます。

UTF-16 でフォーマットされた文字列が、倍精度で置き換えられた補助文字で表される文字列表現 (詳細については、「Character クラスの Unicode 文字表現」セクションを参照してください)。インデックス値は文字コード単位を参照するため、補助文字は文字列内の 2 つの位置を使用します。

String クラスは、Unicode コード単位 (つまり、char 値) を処理するためのメソッドに加えて、Unicode コード ポイント (つまり、文字) を処理するためのメソッドを提供します。

そのため、今後問題が発生した場合は、ドキュメントとソースコードを確認できます。

ドキュメントを確認すればそれがクラスであることもわかりますし、ソースコードを見ればそれが何であるかをすぐに理解できます。 将来的には、これと同様のメソッドを使用して、何かがインターフェイス、クラスなどであるかどうかを確認できるようになります。

クラス: 物理オブジェクトの主観的な抽象化と定義です。オブジェクトは、このクラスによって生成される特定のインスタンスです。ここで、String はクラスであり、s は String クラスによって生成されます。 。 。

構築メソッド

抽象

String() 
          初始化一个新创建的 String 对象,使其表示一个空字符序列。 
String(byte[] bytes) 
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 
String(byte[] bytes, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(byte[] ascii, int hibyte) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length) 
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, int offset, int length, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] ascii, int hibyte, int offset, int count) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length, String charsetName) 
          通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, String charsetName) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(char[] value) 
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
ログイン後にコピー

要約すると(pz): クラスは物理オブジェクトの主観的な抽象化および定義であり、オブジェクトはこのクラスによって生成される特定のインスタンスです。 String s=new String();

ここで、String はクラス、s は String クラスによって生成されたオブジェクトです。 。基本的に、String はクラスですが、それを使用したい場合は、オブジェクトをインスタンス化できます。

String は非常に特別なクラスです。基本的な型とは異なります

1. Java の String クラスのサンプル チュートリアルを共有します


2.

Java の String クラスのサンプル チュートリアルをまとめます3. Java でよく使用されるクラスのメソッドは何ですか? Java の String クラスの一般的なメソッドをまとめます

Java String のソース コードの解釈を共有します

以上がString は Java のオブジェクトですか、それともクラスですか? Javaの文字列の詳しい説明の詳細内容です。詳細については、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の完全数 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

Spring Tool Suiteで最初のSpring Bootアプリケーションを実行するにはどうすればよいですか? Spring Tool Suiteで最初のSpring Bootアプリケーションを実行するにはどうすればよいですか? Feb 07, 2025 pm 12:11 PM

Spring Bootは、Java開発に革命をもたらす堅牢でスケーラブルな、生産対応のJavaアプリケーションの作成を簡素化します。 スプリングエコシステムに固有の「構成に関する慣習」アプローチは、手動のセットアップを最小化します。

See all articles