Javaの文字列関数| Java文字列[例付き]
公開: 2020-12-01目次
序章
Javaは、オブジェクト指向プログラミングのサポートと提供されるデータ型の事前定義された関数により、プログラマーの間で多くの尊敬を集めています。 文字列は、Javaによって提供される印象的なデータ型の1つです。
それらは不変であり、文字列定数プールと呼ばれる別のメモリブロックのヒープ領域に格納されます。 Javaには文字列用の事前定義された関数がたくさんあります。それらを調べてみましょう!
関数
charAt()
特定の位置にある文字にアクセスするために、そのインデックスを反復処理するためのループは必要ありません。charAt()関数が大変な作業を行います。 charAt()関数は、文字列内の特定の位置にある文字を返します。Javaではインデックスが0から始まることに注意してください。
この関数は、アクセス修飾子をpublicとして定義されており、charを返します。 このメソッドは、パラメーターとして整数を想定しており、文字列の長さより大きいパラメーターを使用して関数にアクセスすると、実行時例外であるIndexOutOfBoundsExceptionが返されます。
String str = “ hey there “ ; char first = str 。 charAt( 0 ); char second = str 。 charAt( 1 ); システム。 アウト。 println(first + “ “ + second); |
上記のスニペットは、変数が最初に文字「h」で割り当てられ、変数2番目が文字「e」で割り当てられるため、出力として「he」を提供します。
compareTo()およびcompareToIgnoreCase()
2つの文字列の比較は、Javaの==演算子では機能しません。これは、両方の変数のアドレスをチェックし、両方の変数のアドレスが同じである場合はtrueを返すためです。 したがって、==演算子は文字列の内容の比較に失敗します。ここで、compareTo()メソッドが動作します。

このパブリックメソッドは、比較されるパラメータとして文字列またはオブジェクトを想定し、辞書式比較の後に整数値を返します。このメソッドでは大文字と小文字が区別されることに注意してください。 ただし、小文字と大文字を無視して比較するには、compareToIgnoreCase()を使用できます。
文字列str1 = “こんにちは“ ; 文字列str2 = “こんにちは“ ; 文字列str3 = “ hello “ ; int i1 = str1 。 comapreTo(str2); int i2 = str2 。 compareTo(str3); int i3 = str2 。 compareToIgnoreCase(str3); システム。 アウト。 println(i1 + “ “ i2 + “ “ + i3); |
上記のスニペットは、両方の文字列が等しいため変数i1に1が割り当てられ、大文字と小文字の区別で文字列を比較しているため、変数i2に0が割り当てられるため、出力として「101」が出力されます。 同様に、大文字と小文字を無視して文字列を比較しているため、変数i3には1が割り当てられます。
concat()
文字列は不変であるため、文字列の値を編集することはできません。代わりに、更新された値を同じ変数に再割り当てするだけです。 concat()メソッドを使用して、両方の文字列を連結できます。 このメソッドは、連結されるパラメーターとして文字列を想定し、新しい連結された文字列を返します。
文字列s1 = “最初の“ ; 文字列s2 = “ second “ ; システム。 アウト。 println( s1。concat(s2)) ; |
上記のスニペットは、文字列「firstsecond」を出力します。
読む: JavaBeansのプロパティと利点:どのように利用する必要がありますか?
contains()
文字列が別の文字列のサブシーケンスとして存在するかどうかを確認することは、今や簡単なことです。 javaのcontains()メソッドはブール値のパブリック関数であり、文字列が文字列に存在する場合はtrueを返し、存在しない場合はfalseを返します。 このメソッドは、パラメーターとして文字シーケンスを想定しており、nullオブジェクトがパラメーターとして渡された場合はNullPointerExceptionを返します。
String s1 = “ Hey there “ ; システム。 アウト。 println(s1 .contains ( “ the “ ) ); //ライン1 システム。 アウト。 println(s1。contains ( “ ” )); //2行目 システム。 アウト。 println(s1。contains ( null )) ; // line3 |
上記のスニペットは、シーケンス「the」が文字列に存在するため、行1に対してTrueを出力します。同様に、行2は、空のシーケンスがデフォルトでTrueを返すため、Trueを出力します。 また、3行目では、nullにパラメーターが渡されるため、NullPointerExceptionがスローされます。
の指標()
特定のインデックスに存在する文字を返すJava関数を見てきましたが、特定の文字が最初に出現するインデックスが必要な場合はどうでしょうか。 リラックスして、indexOf()関数がその仕事をします。 この関数は、4つの異なる署名で内部的にオーバーライドされているので、それらを見ていきましょう。

String s1 = “ Hey there、hey There、Hey There、hey there “ ; システム。 アウト。 println(s1 .indexOf ( “ there “ )); //ライン1 システム。 アウト。 println(s1 .indexOf ( “ there “ 、 5 )); //2行目 システム。 アウト。 println( s1。indexOf ( ' T ' )); //3行目 システム。 アウト。 println( s1。indexOf ( ' T ' 、 16 )); //4行目 |
上記のスニペットでは、line1で呼び出される関数は文字列を想定しており、これにより、指定された文字列が最初に出現する開始インデックスが返されます。この場合は4が出力されます。 line2で呼び出される関数は、パラメーターとして整数とともに文字列を予期します。この整数は、指定された文字列の検索がそのインデックスから開始する開始インデックスを参照します。この場合、37を出力します。
line3で呼び出される関数は、パラメーターとして文字を予期し、指定された文字の最初の出現を返します。この場合は15を出力します。 同様に、line4にある関数は、文字と整数を必要とします。
整数が開始インデックスを表し、指定された文字の検索がその文字から始まる場合、この場合は26を出力します。 この関数は完全に大文字と小文字を区別することを忘れないでください。これは上記のスニペットで確認できます。
isEmpty()
この関数は単純なタスクを実行しますが、プログラマーの観点からは非常に便利なタスクです。 このブール関数は、文字列が空の場合はTrueを返し、空でない場合はFalseを返します。 この関数は、文字列に対してタスクを実行する前に文字列が空かどうかを確認するのに役立ちます。これは、実行のフローを中断する空の文字列に対して例外をスローする関数がいくつかあるためです。
String s1 = “ Hey there “ ; 文字列s2 = “” ; システム。 アウト。 println( s1。isEmpty()) ; //ライン1 システム。 アウト。 println( s2。isEmpty()) ; //2行目 |
上記のスニペットは、line1の場合はFalse、line2の場合はTrueを出力します。
長さ()
文字列の長さを見つけるのはもはや面倒な作業ではありません。Javaのlength()関数は、指定された文字列の長さを返します。 空の文字列がパラメータとして渡された場合、これはゼロを返します。
文字列s1 = “ abcdefghijklmnopqrstuvwxyz “ ; システム。 アウト。 println(s1。length ()) ; |
上記のコードは26を出力します。
交換()
シーケンスの最初の出現のみを返すindexOf()関数とは異なり、replace()関数は、指定されたすべての文字を指定された新しい文字に置き換え、新しい文字列を返します。 このパブリック関数は、パラメーターとしてc1とc2などの2つの文字を想定しています。 ここで、c1に等しいすべての文字を検索し、それらをc2に置き換えます。
文字列s1 = “ helloHELLO “ ; システム。 アウト。 println(s1。replace ( ' l ' 、 ' p ' ) ); |
この関数では大文字と小文字が区別されるため、上記のスニペットは「heppoHELLO」を出力することに注意してください。
toLowerCase()およびtoUpperCase()
文字列を小文字に、またはその逆に変換することは、Javaでの楽しいタスクであり、1行のコードの芸術が必要です。toLowerCase()、toUpperCase()関数はアーティストです。
これらのパブリック関数はパラメーターを予期せず、大文字と小文字が更新された新しい文字列を返します。
String s1 = “ Hey There “ ; システム。 アウト。 println( s1。toUpperCase()) ; //ライン1 システム。 アウト。 println( s1。toLowerCase()) ; //2行目 |
上記のスニペットでは、line2は「heythere」を出力し、line1は「HEYTHERE」を出力します。

学ぶ: Javaでのイベント処理:それは何で、どのように機能しますか?
トリム()
文字列の末尾と先頭の空白を削除する単純な方法は、文字列をループして、空白の場合は文字を削除することですが、最適な方法があります。 Trim()関数は、文字列の先頭と末尾のスペースをすべて削除し、新しい文字列を返します。 このパブリック関数はパラメーターを想定していません。
String s1 = “ Hey There “ ; システム。 アウト。 println(s1。trim ()) ; |
上記のスニペットは、末尾と先頭の空白を削除した後の新しい文字列である「HeyThere」を出力します。
結論
Javaの文字列関数のいくつかをウォークスルーし、それらがどのように機能し、何を期待し、何を返すかを理解しました。 いくつかの関数のオーバーライドされたシグネチャを調べ、適切に理解するためにサンプルコードスニペットをウォークスルーしました。 いくつかの機能を理解したので、必要なときにいつでもそれらを利用し始めます。
Java、OOP、フルスタックソフトウェア開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のPGディプロマをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。9 +プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。