文字列関連ツール
Stringクラス
- Stringクラス
- パケットが所属するjava.langパッケージです
- //直接STRに文字列定数を代入(文字列定数プール)文字列str =新しいString();オブジェクトの文字列str =「ABC」を作成するためのコンストラクタを探す//引数なしのコンストラクタは、空の文字列str =新しいオブジェクトを作成します文字列(「ABC」);パラメータストリング文字列str =新しい文字列(バイト[])でオブジェクトを作成する//コンストラクタメソッド; //各配列要素は、文字列、文字列str =新たに合成、対応する文字に変換ストリング(文字[]); //最終列にスプライシング各アレイ素子チャー
- 各文字列自体、最終的な不変プライベート民間の最終的な文字列不変の長さを変更しない---> //ストア・アドレス、タイプString Stringクラスプライベート最終のchar []値の不変特性現在のクラス - コンテンツ>配列でない変更
- ストリングクラスのメソッド一般20+ boolena =等号(物体オブジェクト);二つの文字列の//オブジェクト継承書き換えそれリテラル比較が等しいです
- 私たちは、文字列の特性について書かれ、多くの場合、勉強します
StringBufferの
StringBuilder
パッケージjava.langのパッケージが属しています
間接オブジェクト継承継承AbstractStringBuilder、追加可のインタフェース直列化、のCharSequenceを実装
- StringBufferを/ StringBuilderをなしcompareToメソッド
- 文字列を含むのStringBuffer / StringBuilderの方法ではない追記();スプライシング
特性可変文字列のchar []の値、動的拡張
オブジェクトの構築
//无参数构造方法 构建一个默认长度16个空间的对象 char[] StringBuilder builder = new StringBuilder(); //利用给定的参数 构建一个自定义长度空间的对象char[] StringBuilder builder = new StringBuilder(20); //利用带String参数的构造方法 默认数组长度:字符串长度+16个 StringBuilder builder = new StringBuilder("abc");
最も一般的に使用されるメソッドのStringBuilder
最主要的方法 stringBuilder.append(); 频繁的拼接字符串的时候使用此方法 提高性能 capacity(); 获取字符串底层char[]的容量 length(); 符串有效元素的个数(长度) setLength(); 手动设置有效元素个数 String = stringBuilder.substring(2,5); 截取从索引2开始到索引5截止(需要接受返回值才能看见截取出来的新字符串) StringBuilder = stringBuilder.delete(2,5); 删除索引2开始到索引5的字符 StringBuilder类中独有的方法String类没有 将start到end之间的字符串删掉 不用接受返回值就看到效果啦 StringBuilder = deleteCharAt(int index); String类中没有的方法 将给定index位置的某一个字符删除掉啦 int = indexOf(String str[,int fromIndex]); int = lastIndexOf(String str[,int fromIndex]); 找寻给定的str在字符串中第一次出现的索引位置,带重载 则从某一个位置开始 insert(int index,value) 将给定的value元素插入到index位置上,value可以是char、string等等 replace(int start,int end,String str); 将start和end之间的部分替换成str stringBuilder.replace(1,3,"yr"); setCharAt(int index,char value); 将index位置的字符改成某一个字符 reverse(); 将StringBuilder中的字符串反转 toString(); 将StringBuilder对象 构建成一个string对象 并返回 trimToSize();将数组中无用的容量去掉 变成length长度的数组
要約:
StringBuilderのクラス文字列は、必ずしもそれが使用される場合に頻繁にステッチが文字列情報を変更しないようにするために必要とされない、根本的な配列は可変であり、改善された性能
従来の方法と独特の方法はappend()同じインサート()(削除)deleteCharAt()(リバース)クラス文字列長(方法からストリングクラス異なる)のcharAt()codePointAt()のindexOf()のlastIndexOf()サブストリング()交換()は、同じ名前の矛盾は、非常に一般的に使用されるメソッドensureCapacity()容量()はsetLength()trimToSize()setCharAt()ではない使用します
多くの場合、知識の簡単な検査で書かれた文字列の家族
文字列の袋の継承を実装インタフェースに属し
ビルドに文字列の方法
新しいメモリ・オブジェクト==の文字列の文字列オブジェクトメモリ構造一定領域()の差に等しいです。
文字列の不変の特性長さと内容
一般StringBuilderのに使用される文字列方法---判別連結();は、toUpperCase()
文字列とStringBufferの文字列不変の違い|の文字列とStringBuilderの違い
同等JDK1.0は別の方法に長さと内容に反映インターフェース不変を有しない連結のcompareToのtoUpperCaseは存在しません
StringBuilderの文字列変数
JDK1.5
インタフェース追加可があります
最終層に変更されていない変数列は、拡張のアレイであってもよいです
いくつかの方法があります文字列なしのappend()、インサート()(削除)リバース()
StringBufferをとStringBuilderの異なります
以前のバージョン1.0のStringBuffer
StringBuilderの新しいバージョン1.5
ほぼ同じ方法を使用して、通常はそれ以前のバージョンでは、スレッドセーフである、セキュリティは、比較的低い効率が比較的高く、
以降、非同期スレッド(セキュリティ)、セキュリティが比較的低く、効率が比較的高いです