java string with string buffer
Java文字列チュートリアル:
Javaのさまざまな概念を私たちから明確に理解していただければ幸いです。 Javaトレーニングシリーズ これまでのところ。前のチュートリアルでは、 Javaの例外 詳細に。
このチュートリアルでは、以下について説明します。
- 文字列を作成する方法は?
- 文字列の不変性
- 文字列メソッド
- 文字列バッファと文字列ビルダーを作成する方法
- stringとStringBuffer、stringbuilderの違い。
これは、Java文字列に関するビデオチュートリアルです。
文字列を作成する方法は?
文字列リテラルの割り当て:
文字列s =“ STH”;このようにして、コンパイラは文字列プールで使用可能な「STH」リテラルがあるかどうかをチェックします。
使用可能な場合は、Stringsが参照されます。
作成 新しい オブジェクト:
文字列s = new( 'STH');このようにして、新しい文字列オブジェクトがヒープ内に作成されます。
ワイヤレスネットワークトラフィックはスニファでキャプチャできます
サンプルプログラム :
public class DemoString { public static void main(String[] args) { String s1='STH'; String s2='STH'; String s3=new String('STH'); String s4=new String('STH'); System.out.println('s1=='+System.identityHashCode(s1)); System.out.println('s2=='+System.identityHashCode(s2)); System.out.println('s3=='+System.identityHashCode(s3)); System.out.println('s4=='+System.identityHashCode(s4)); } }
出力:
出力から、newを使用して作成された文字列は、同じ値であるにもかかわらず、異なる一意のハッシュコードを持つことがわかります。
文字列の不変性:
値を変更できないため、文字列は不変です。
例:
public class Immutablestring { public static void main(String[] args) { String str='software'; str.concat('engineering'); System.out.println(str); } }
上記の例から、文字列値を変更できないことがわかります。文字列メソッド(concat、substringなど)を使用して文字列操作を実行すると、新しい文字列が作成されます。また、元の文字列は変更されません。
文字列メソッド
文字列操作を実行するには、いくつかの文字列メソッドを使用できます。
いくつかの方法が含まれます:
Substring() –文字列の部分文字列を返します。
Concat() –文字列を連結します。
長さ() –文字列の長さを返します
valueOf –他のデータ型から文字列に変換します。
例:
public class StringMethods { public static void main(String[] args) { int i=5; String str='software'; String str1='tester'; str.concat('engineering'); System.out.println('str.length()=='+str.length()); System.out.println('str.substring=='+str.substring(2, 4)); System.out.println('String.valueOf(i)=='+String.valueOf(i)); String sf=String.valueOf(1.1); System.out.println('sf=='+sf); System.out.println('str.equals(str1)=='+str.equals(str1)); System.out.println(str.toUpperCase()); System.out.println('str.contains=='+str.contains('of')); } }
出力:
StringBufferとStringBuilderを作成する方法は?
StringBufferとStringBuilderはどちらも変更可能です。
StringBuffer bf = new StringBuffer();
StringBuilder sb = new StringBuilder();
例:
package demoofoop; public class DemoBuffer { public static void main(String[] args StringBuffer sb =new StringBuffer('one_'); sb.append('two'); System.out.println(sb); StringBuilder stb=new StringBuilder('firststring_'); stb.append('appendstring'); System.out.println('stb==='+stb); } }
出力:
注意すべきキーポイント:
- 文字列は不変であるため、長さは固定されており、値を変更することはできません。
- StringBufferとStringBuilderの値は変更可能であり、値を変更できます。
- StringBufferはスレッドセーフであり、StringBuilderは同期されません。したがって、スレッドセーフではありません。
結論
このチュートリアルでは、文字列、文字列の作成方法、文字列の不変性、文字列バッファ、文字列ビルダーについて学習しました。
Javaのスレッドについて詳しくは、今後のチュートリアルを確認してください。
例を含むUNIXシェルスクリプトコマンド