Stringクラス


String作成者

String s1 = new String("A");

String s2 = "A";

//배열로 String 객체 생성
String s3 = new String(byte[] bytes);

//배열의 offset 인덱스부터 length만큼 String 객체 생성
String s4 = new String(byte[] bytes, int offset, int length);

Stringメソッド


戻りタイプcharcharat(int index)特定の位置文字returnbooleanequals(Object object)2つの文字列比較bytte[]getByte[]戻りバイト[]getBytes(Charset charset)所定の文字セットで符号化されたバイト[]returnitindexOf(String str)文字列内の所定の文字列の位置はintlength(長さ)を返す置き換えられたターゲット部分から置き換えられた新しい文字列からStringtoLowerCaseを返す小文字に変換された新しい文字列はStringtoUpperCase()をアルファベット大文字に変換した新しい文字列はStringtrim()を返し、前後のスペースを削除した新しい文字列はStringtoValueOf(inti)値Of(doubled)を返し、このデフォルトタイプの値を文字列に返します

文字列比較イコール()


基本タイプ(byte、char、short、int、long、float、double、boolean)変数の値を比較する場合は、==演算子を使用します.
ただし、文字列を比較する場合、==演算子は少し異なる結果を生じる可能性があります.
次の例を示します.
String s1 = new String("A");
String s2 = "A";
String s3 = "A";
Javaでは、文字列の文字(変数に置かれたデータ)が同じ場合、同じStringオブジェクトが参照されます.

したがって、上記の図に示すように、s 2およびs 3はヒップ領域の同じStringオブジェクトを参照し、s 1はnew演算子によって生成された他のStringオブジェクトを参照する.
したがって、==演算子は、下図のように各変数に格納されている番号を比較するので、同じデータを持っていても結果が異なる.
だからこのときequals()を使うべきです.
//false
s1 == s2
//true
s2 == s3

//true
s1.equals(s2)
//true
s2.equals(s3)