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)
Reference
この問題について(Stringクラス), 我々は、より多くの情報をここで見つけました https://velog.io/@gillog/String클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol