Stringノット
1540 ワード
一.Stringクラスは比較的重要なクラスであり、ネットワーク上の多くのデータは文字列の形式で処理され、その構造関数は多く、他のタイプの配列を構造パラメータとして許可し、他のタイプのデータとの変換を容易にすることができる.
例:
String(byte[]bytes):プラットフォームのデフォルト文字セットを使用して指定したbyte配列を復号することで、新しいStringを構築します.
String(byte[]bytes):プラットフォームのデフォルト文字セットを使用して指定したbyte配列を復号することで、新しいStringを構築します.
二.文字列に対するいくつかの処理
文字列の処理も便利で、呼び出し方法によってその位置付け、検索、切り取り、変換、比較、置換などの操作を完成することができます.ここでは例を挙げません.APIには文字列の方法がたくさんあります.
三.特に注意:
まず次のプログラムを見てください.
false,true
通常の思考では2つのtrueが正しいはずですが、実際によく分析すると、中の違いを発見するのは難しくありません.まず、Stringは8つの基本データ型に属していないクラスであり、特殊な処理を受けたクラスであり、一般的なクラスはオブジェクトを作成するにはnewが必要ですが、Stringクラスではそうではありません.newもnewもなくてもいいです.JVMにはnewがないときに特別な「部屋」である定数プールが用意されており、データが格納されているときは集合フレームワークのSetによく似ており、重複は許されません.上に変数、str=」があれば、2等号で比較するとtrueであることがわかります.これは、同じアドレスを占有していることを示しています.少し話が遠いですが、今から上のプログラムについてお話ししますと、8種類の基本データ型の場合、上のプログラムの結果は2つのtrueに違いありませんが、クラスタイプについては「==」号の場合、データ識別はアドレスによって行われ、equalsは2つのクラスの具体的なデータについて話されているので、以上のプログラムの結果は明らかです.
例:
String(byte[]bytes):プラットフォームのデフォルト文字セットを使用して指定したbyte配列を復号することで、新しいStringを構築します.
String(byte[]bytes):プラットフォームのデフォルト文字セットを使用して指定したbyte配列を復号することで、新しいStringを構築します.
二.文字列に対するいくつかの処理
文字列の処理も便利で、呼び出し方法によってその位置付け、検索、切り取り、変換、比較、置換などの操作を完成することができます.ここでは例を挙げません.APIには文字列の方法がたくさんあります.
三.特に注意:
まず次のプログラムを見てください.
public class test {
public static void main(String[] args) {
String str = new String("");
String dtr1 = "";
boolean b = str=="";
boolean b1 = str.equals(dtr1);
System.out.println(b);
System.out.println(b1);
}
}
以上のプログラムの出力結果は次のとおりです.false,true
通常の思考では2つのtrueが正しいはずですが、実際によく分析すると、中の違いを発見するのは難しくありません.まず、Stringは8つの基本データ型に属していないクラスであり、特殊な処理を受けたクラスであり、一般的なクラスはオブジェクトを作成するにはnewが必要ですが、Stringクラスではそうではありません.newもnewもなくてもいいです.JVMにはnewがないときに特別な「部屋」である定数プールが用意されており、データが格納されているときは集合フレームワークのSetによく似ており、重複は許されません.上に変数、str=」があれば、2等号で比較するとtrueであることがわかります.これは、同じアドレスを占有していることを示しています.少し話が遠いですが、今から上のプログラムについてお話ししますと、8種類の基本データ型の場合、上のプログラムの結果は2つのtrueに違いありませんが、クラスタイプについては「==」号の場合、データ識別はアドレスによって行われ、equalsは2つのクラスの具体的なデータについて話されているので、以上のプログラムの結果は明らかです.