Stringクラスのような一般的なユーティリティ

1. Stringクラスは何である
のJavaの専門知識は、文字列を処理するためのStringクラスを提供するので、プログラムは、多くの場合、設計アルゴリズムの処理と関連した文字列が含まれているため。java.langパッケージ内など、このパッケージは、デフォルトの参照があるので、Stringクラスは直接使用することができます。しかし、JavaのStringクラスは、Aの親クラスではありません、最終的なクラスとして定義されています。

クラス2つの一般的に用いられる方法.String
1.Stringを(] [文字)の文字列これは使用がである工法です。

char a[]={'j','a','v','a'};
String s=new String(a);

等価:文字列S =新しい文字列( "javaの");

2.String(] [INTのstartIndex、int型の数を文字)もコンストラクタ文字列クラスであり、その使用法は次のとおり

char a[]={'0','1','2','3','4','5','6','7','8','9'};
String s=new String(a,2,4);

等価のString =新しい文字列( "2345");

3.public INT長()、この方法は、以下のように使用される文字列の長さ方法に文字列オブジェクトを取得することです。

String china="中华人民共和国";
int n1=china.length();//n1就是china的字符序列长度

4.publicブール等しい(文字列S)メソッドは、2つの文字列を比較する方法であるかどうかを次のように使用される、同じです。

boolean a ,b;
String tom = new String("天道酬勤");
String boy = new String("天道酬勤");
String jerry = new String("投机取巧");
a=tom.equals(boy);//a的值为true
b=tom.equals(jerry);//b的值为false

5.publicブールのstartsWith(文字列s)は、公共ブールendsWith(文字列S) メソッド
は現在の文字列オブジェクトの接頭辞または接尾辞配列をパラメータ文字列で指定されているか否かを判定している
次のように使用される文字列のオブジェクトを、。

boolean a,b,c,d;
String tom="天气预报";
String jerry = "比赛终止";
a=tom.startsWith("天气");//a的值为true
b=jerry.startWith("天气");//b的值为flase
c=tom.endsWith("终止");//c的值是false
d=jerry.endsWith("终止");//d的值是true

6.public int型のcompareTo(文字列s)は、次のように使用し、Stringオブジェクトのサイズの文字列の比較を指定し、この方法は、辞書式順序パラメータであります:

String str="adcde";
则有:
str.compareTo("boy")小于0
str.compareTo("aba")大于0
str.compareTo("abcde")等于0

補足(文字列サイズの比較ルール):ASCII文字値決意であり、比較ルール、順次異なる文字が発生するまで後方に比較する最初の文字、異なる次いでASCII値の最初の文字から始まります例えば、大きさの比較を決定する:「ABC」と「abadfg」比較、最初の2つの文字と同様、第三文字異なる、「C」、比率A以降「」、C ASCIIコードの一つであります大規模なので、これら二つの文字列の比較の結果は以下のとおりです。「ABC」>「abadfg」。

7.publicブール(文字列s)は含まれ、この方法は、文字の現在のシーケンス内の文字の順序を決定することで次のようにStringオブジェクトパラメータsが使用されて含まれています。

String tom="student";
那么:
tom.contains("stu")的值是true
tom.contains("ol")的值是false

8.public int型のindexOf(Stringを)および公共int型のlastIndexOf(Stringを)
取得したかではない場合、このメソッドは文字列が最初に現れる位置を検索し、文字列s秒の位置を取得するために使用されているが、最後に表示されます-1。検索開始位置を指定するために、indeOf(文字列S、INTの始点)とのlastIndexOf(文字列S、INTの始点)が 、 次のように位置の探索を開始気質INTの始点の背後、に使用されます。

String tom="I am a good cat";
int n,m,a;
a=tom.indexOf("I");a的值为0
n=tom.indexOf("a");n的值为2
m=tom.indexOf("good",2);m的值为7

注:一連の文字は、Stringオブジェクトのエスケープ文字は、\などの文字であり、nはリターンを表します。\パスは、文字表現です。

9.public文字列サブストリング(int型の始点)このメソッドは、新しいStringオブジェクトを取得するために使用され、新しいオブジェクトは、最後の文字位置に文字列を結果の文字列を開始する文字列複製始点現在のStringオブジェクトです。次のように使用方法は以下のとおりです。

String tom="I like football";
String str = tom.substring(1);//str的字符序列为" like football"

そこ上記のように(int型開始、int型エンド)をサブストリングが、それは最初から最後-1の範囲に文字をコピーすることです。例えば:

String tom="I like football";
String str = tom.substring(26);//str的字符序列为"like"

三.String使用シナリオ
1.文字列定数

String s1,s2;
s1="你好";
s2="你好";
则s1==s2的值为true

2.文字列連結
文字列オブジェクトは、「+」は、例えば、新たな文字列オブジェクトを取得するために、すなわち、端部の端部に、連結のために使用することができます。

String you="你";
String me="我";
String testOne;
testOne=you+me;//testOne为"你我"

3.変換基本文字列データ
1)文字列データ変換
、以下の方法を使用することを:
パブリック静的文字列のvalueOf(nバイト)
パブリック静的文字列のvalueOf(N-INT)
...というように、単にバックのデータ・タイプを変更することによってその上に。
例えば:

String str=String.valueOf(1235434.345)

データ列2)変換
、例えば:

int x;
String s="234";
x=Integer.parseInt(s);//可以根据需要将parseInt中的Int改为其他数据类型

対象物4の文字列表現
オブジェクトクラスはパブリック文字列のtoString()メソッドを持っている、Stringオブジェクトを作ることができ、この方法は、この方法によって表されるオブジェクトを呼び出すことによって得られます。この方法は、一般の形式で返されますを参照して、オブジェクトの文字列表現@オブジェクトのクラス名を作成
例:

 class TV{
   double price;
   public void setPrice(double m){
   price=m;
   }
   public String toString(){
      String oldStr=super.toString();
      return oldStr+"\n这是电视机,价格是:"+price;
      }
   }


public class Main{
   public static void main(String args[]){
     Date date=new Date();
     System.out.println(date.toString());
     TV tv=new TV();
     tv.setPrice(5345);
     System.out.println(tv.toString());
   }
}

ここに画像を挿入説明

文字列の配列、バイト配列

1)文字列の配列
文字列クラスは、文字列オブジェクトの配列に格納された文字の配列を提供します。public void GETCHAR(int型開始、 int型エンド、チャーC []、intはオフセット) 現在の文字列オブジェクトのこの方法を文字の配列の一部をコピーする配列にコピー端-1 C上の文字位置に開始位置から、アレイ内のパラメータcによって文字列を指定し、配列c格納された文字からのオフセットで始まります。
さらに、簡潔な方式は、文字列オブジェクト格納された文字配列方法における文字の全配列がある:
公共のchar [] toCahrArrayは();このメソッドは、文字の配列、配列の文字列の長さの文字列オブジェクトを返しますこれは、(正確にi番目の文字i番目の文字単位)に等しい。
例:

public class Example8_6{
  public static void main(String args[]){
  char []a,c;
  String s="1945年8月15日是抗战胜利日";
  a = new char[4];
  s.getChars(11,15,a,0);
  System.out.println(a);
  c="十一长假期间,学校都放假了".toCharArray();
  System.out.println(c);
  }
}

2)文字列やバイト
指定されたバイト配列の構成文字列オブジェクトとクラスのコンストラクタ文字列(バイト[])。
文字列(バイト[]、INTオフセット int型の長さ) スタートバイト長の開始位置からのオフセットを指定されたバイト配列の一部と構築方法、すなわちアレイは、文字列オブジェクトを構築します。
公共のバイト[] GetBytesメソッド()メソッドは、プラットフォームのデフォルトの文字エンコーディングを使用して、文字のシーケンスは、現在バイト配列に文字列オブジェクトに格納され、配列への参照を返します。
例:

public class Example{
 public static void main(String args[]){
     byte d[]="java你好".getBytes();
     System.out.println("数组d的长度:"+d.length);
     String s=new String(d,6,2);
     System.out.println(s);//输出"好"
     s=new String(d,0,6);
     System.out.println(s);//输出"java你"
 }
 }

3)文字列の暗号化アルゴリズム
暗号化された別のStringオブジェクトのSourceString文字のStringオブジェクトコードシーケンスとしてパスワードを使用して文字列:材料は次のように定義されます。ルール:
CHAR [] = P password.toCharArray();
文字の配列が配列Pの長さは、それがグループとしてn文字のsourceStringするために暗号化される(文字の最後のセットが少ないnよりかもしれNであると仮定しました)、文字の各セットのためのpの対応する文字列との合計を行います。

6.正規表現と代替文字列と爆発
1)正規表現
の文字列は、文字列は、「\ DCAT」として、文字は特別な意味、メタ文字と呼ばれるこれらの特殊文字を持っている含まれているStringオブジェクトであります0〜9の数の任意の\ D代表。
文字列オブジェクトは、文字列オブジェクトの現在のシーケンスが正規表現と正規表現マッチングを指定しているかどうかを判断することができる公共ブールマッチ(文字列正規表現)メソッドを呼び出します。(正規表現は、効率的にフィルタに使用することができます)

2)置換文字列の
文字列オブジェクトは、公開ストリングでReplaceAll(文字列の正規表現は、文字列を呼び出すことができる置換) メソッドを新しい文字列オブジェクトを返します。この新しいオブジェクトの文字列は、文字列オブジェクトと文字列得られたパラメータの交換に文字列を交換した後、パラメータの正規表現に一致するすべてのサブ文字列の現在のシーケンスです。たとえば、次の
文字列= STR "12hello567bird" .replaceAll( "[A-ZA-A] +"、 "こんにちは");
この操作は(すなわち12hello567bird)文字列を置き換えることであるすべての英語の文字"こんにちは"、すなわち、 STR "12 567こんにちはこんにちは。"

3)文字の配列の分解
Stringクラスは、パブリック文字列[]スプリット(文字列の正規表現の方法を提供する )。
このメソッドは、この単語分割マーク分解Stringオブジェクトの配列、および分解として正規表現正規表現によって指定されたパラメータを使用することができます配列に格納された単語列。例えば:

String str="1949年10月1日是中华人民共和国成立的日子";
String regex="\\D+";
String degitWord[] = str.split(regex);
为以非数字字符序列作为分隔符 有:
digitWord[0]="1949";
digitWord[1]="10";
digitWord[2]="1";

文字列の使用については、そこに多くの使用シナリオがありますが、また学ぶために。

公開された35元の記事 ウォンの賞賛0 ビュー1296

おすすめ

転載: blog.csdn.net/c1776167012/article/details/103897078