CodeGym /Java Blog /Random /Mga String ng Java
John Squirrels
Antas
San Francisco

Mga String ng Java

Nai-publish sa grupo

Ano ang String sa Java?

Sa programming, ang mga string ay karaniwang ginagamit. Ang string sa java ay isang bagay na kumakatawan sa isang pagkakasunud-sunod ng mga character na sinusuportahan ng isang char array. Ang klase ng string ay hindi nababago sa Java at nagpapatupad ng mga interface ng Comparable , Serializable , at CharSequence . Tingnan natin ang isang halimbawa upang maunawaan.
String str = "string"
Narito ang str ay ang pagkakasunod-sunod ng 6 na character na s, t, r, i, n, at g.
Index ng Char Array 0 1 2 3 4 5
Halaga s t r i n g
Address ng Memorya 0x12824 0x12825 0x12826 0x12827 0x12828 0x12829
Tulad ng alam natin ngayon na ang array ay hindi nababago, na nangangahulugan na hindi ito mababago pagkatapos ng pagsisimula, samakatuwid ang string ay hindi nababago rin.

Mga paraan ng pagsisimula ng String

Mayroong dalawang paraan upang simulan ang isang string.
  1. Mga Literal ng String
  2. Bagong Operator

Literal na String

Ang pinakamadali at pinakadirektang paraan ng pagdedeklara ng isang string ay ginagamit sa halimbawa sa itaas. Sa tuwing binibigyang kahulugan ng compiler ang isang literal na string, palagi itong kino-convert sa String object.
String str = "string";

Bagong Operator

Maaari din nating simulan ang isang string sa pamamagitan ng paggamit ng bagong operator.
String strNew = new String("using new operator");

Halimbawa

import java.io.*;
import java.lang.*;

class StringInitializationExample {
    public static void main(String[] args)
    {
        //declare java string with a string literal
        String str = "a string literal";

        System.out.println("String str = " + str);

        //declare string using new operator
        String strNew = new String("using new operator");

        System.out.println("String strNew = " + strNew);
    }
}

Output

String str = literal na string String strBago = gamit ang bagong operator

String vs StringBuilder vs StringBuffer

Napag-usapan na natin kung ano ang klase ng String kaya tatalakayin natin ang iba pang dalawang klase at ang kanilang layunin, kasama ang dahilan kung bakit ipinakilala ng Java ang dalawang klase na ito kapag mayroon na itong klase ng String para sa atin. Mas mabuti para sa iyo na pumunta sa itaas at magkaroon ng rebisyon para sa String class upang maunawaan ito sa isang mas mahusay na paraan.

Dahilan

Tulad ng alam natin na ang String class object ay hindi nababago kaya't sa tuwing kailangan nating baguhin ang string ay hindi nito na-mutate ang kasalukuyang object ngunit ang binagong halaga ay palaging nakaimbak bilang isang bagong String object. Kaya kung kailangan nating baguhin ang halaga, muli at muli, ang memorya ay mauubos din. Ang pagpapanatili sa puntong ito ay nagbigay sa amin ang Java ng mga klase ng StringBuilder at StringBuffer . Ngayon ay makikita natin kung paano sila kapaki-pakinabang sa sitwasyong ito.

StringBuffer

Ang string ay isang representasyon ng isang hindi nababagong pagkakasunod-sunod ng mga character ngunit ang StringBuffer ay isang nababagong pagkakasunod-sunod ng mga character . Ginagamit nito ang karamihan sa mga pamamaraan ng klase ng String kasama ang ilan sa sarili nitong paraan upang baguhin ang mga nilalaman at pagkakasunud-sunod ng mga character. Ito ay ligtas sa thread dahil ang mga pamamaraan nito ay naka-synchronize para sa paggamit ng maramihang mga thread, na pinapanatili ang serial order. Ipinapatupad nito ang Serializable , Appendable , at CharSequence na mga interface.

Syntax

StringBuffer str = new StringBuffer("Happy Java Programming");

StringBuilder

Kinakatawan din ng StringBuilder ang nababagong sequence ng mga character. Nagbibigay ito ng API, na katugma sa klase ng StringBuffer ngunit hindi ito ligtas sa thread. Kaya kung saan maraming mga thread ang hindi kasali, mas mainam na sumama sa StringBuilder class dahil mas mabilis ito kaysa sa StringBuffer class sa maraming kaso. Ang mga pangunahing paraan ng klase na ito ay ang insert at append. Ipinapatupad din nito ang mga interface ng Serializable , Appendable , at CharSequence .

Syntax

StringBuilder str = new StringBuilder("Happy Java Programming");

Mga Pagpapatakbo ng String

Sa Java maaari kaming magsagawa ng mga operasyon ng string tulad ng Concatenation , Comparing , Splitting , Finding Length , Pagpapalit ng Strings at iba pa.

Mga Paraan ng String

Ang klase ng Java String ay nagbibigay ng iba't ibang mga pamamaraan para sa pagmamanipula ng mga string o pagsasagawa ng mga tinalakay na operasyon sa itaas. Tingnan natin ang talahanayan sa ibaba para sa ilan sa mga pamamaraang ito ng string.
Paraan Paglalarawan
Char charAt(int index) Ibinabalik nito ang halaga ng char sa ibinigay na index.
String concat(String str) Ibinabalik nito ang isang string sa pamamagitan ng pagsasama ng isang tinukoy na string sa dulo ng string na ito.
naglalaman ang boolean (CharSequence s) Nagbabalik ito ng true kung ang string ay naglalaman ng isang tinukoy na pagkakasunud-sunod ng mga halaga ng char.
boolean contentEquals(CharSequence cs) Tumutugma ito sa string sa ibinigay na char sequence.
boolean contentEquals(StringBuffer sb) Tumutugma ito sa string sa ibinigay na buffer ng string.
boolean endsWith(String suffix) Inihahambing nito ang dulo ng string sa ibinigay na suffix.
boolean equals(Object anObject) Tumutugma ito sa string sa ibinigay na bagay.
boolean equalsIgnoreCase(String anotherString) Ang pamamaraang ito ay naghahambing ng dalawang string nang hindi isinasaalang-alang ang pagiging sensitibo ng kaso.
static na String format(String format, Object... args) Ibinabalik nito ang na-format na string sa pamamagitan ng paggamit ng ibinigay na format at ang mga argumento.
byte getBytes() Ginagamit ng paraang ito ang default na charset ng platform para sa pag-encode ng string sa isang sequence ng mga byte, na pagkatapos ay iniimbak sa isang bagong byte array.
void getChars(int begin, int end, char[] dst, int dstBegin) Kinokopya nito ang mga character mula sa string papunta sa destination character array.
int hashCode() Ibinabalik nito ang hash code para sa string.
int indexOf(int ch) Ibinabalik nito ang index para sa tinukoy na character na unang nangyayari mula sa string.
int indexOf(int ch, int fromIndex) Ibinabalik nito ang index para sa tinukoy na karakter na unang nangyayari simula sa ibinigay na index sa string na ito.
int indexOf(String str) Hinahanap nito ang ibinigay na substring sa string at ibinabalik ang index sa unang paglitaw.
int indexOf(String str, int fromIndex) Nagsisimula itong maghanap para sa ibinigay na substring sa string mula sa ibinigay na index at ibinabalik ang index sa unang paglitaw.
String intern() Ibinabalik ng pamamaraang ito ang canonical na representasyon ng string.
int lastIndexOf(int ch) Hinahanap ng paraang ito ang ibinigay na character sa string at ibinabalik ang index ng huling pangyayari.
int lastIndexOf(int ch, int fromIndex) Ang pamamaraang ito ay naghahanap pabalik mula sa ibinigay na index para sa ibinigay na character sa string at ibinabalik ang index ng huling pangyayari.
int lastIndexOf(String str) Hinahanap ng paraang ito ang ibinigay na substring sa string at ibinabalik ang index ng huling pangyayari.
int lastIndexOf(String str, int fromIndex) Ang pamamaraang ito ay naghahanap pabalik mula sa ibinigay na index para sa ibinigay na substring sa string at ibinabalik ang index ng huling pangyayari.
int haba() Ibinabalik ng pamamaraang ito ang haba ng string.
mga boolean na tugma(String regex) Nagbabalik ito ng true o false sa pamamagitan ng pagtutugma ng string sa ibinigay na regular na expression.
Palitan ng string(char oldValue, char newValue) Ang pamamaraang ito ay nagbabalik ng isang string pagkatapos palitan ang lahat ng ibinigay na oldValue ng newValue sa string.
String[] split(String regex) Hinahanap ng paraang ito ang lahat ng mga tugma ayon sa ibinigay na regular na expression sa string at hinahati ito sa mga tugmang ito.
boolean startsWith(String prefix) Nagbabalik ito ng true o false sa pamamagitan ng pagsubok sa string na nagsisimula sa ibinigay na prefix.
String substring(int beginIndex) Ang pamamaraang ito ay nagbabalik ng isang string na siyang substring ng string na ito.
String toLowerCase() Kino-convert nito ang lahat ng character ng string sa lowercase gamit ang mga panuntunan ng default na lokal.
String trim() Ang pamamaraang ito ay nag-aalis ng lahat ng nangunguna at sumusunod na mga whitespace mula sa string at ibinabalik ito.
static na String valueOf(char c) Ibinabalik nito ang string na representasyon ng char argument.
Ngayon sa tulong ng ilang mga halimbawa, makikita natin kung paano gamitin ang mga ito.

Halimbawa

import java.io.*;
import java.lang.*;

class JavaStringsExample {
  public static void main(String[] args) {

    //create a string
    String greeting = "Hello! World";
    System.out.println("String: " + greeting);

    //getting the length of greeting object
    int length = greeting.length();
    System.out.println("Length: " + length);

    //create first string
    String first = "Java ";
    System.out.println("First String: " + first);

    //create second string
    String second = "Programming";
    System.out.println("Second String: " + second);

    //joining two strings
    String joinedString = first.concat(second);
    System.out.println("Joined String: " + joinedString);

    String jpf = "Java programming";
    String jps = "Java programming";
    String jpt = "Python programming";

    //compare jpf and jps strings
    boolean result1 = jpf.equals(jps);
    System.out.println("Strings jpf and jps are equal: " + result1);

    //compare jpf and jpt strings
    boolean result2 = jpf.equals(jpt);
    System.out.println("Strings jpf and jpt are equal: " + result2);

    //converting jpf to uppercase
    System.out.println("Upper case jpf: " + jpf.toUpperCase());

    //replacing g character with v in jpf
    System.out.println("Replacing g with v in jpf: "+jpf.replace("g", "v"));
  }
}

Output

String: Hello! World Length: 12 First String: Java Second String: Programming Joined String: Java Programming Strings jpf and jps are equal: true Strings jpf and jpt are equal: false Upper case jpf: JAVA PROGRAMMING Pinapalitan ang g ng v sa jpf: java provramminv

Konklusyon

Umaasa kami na sa ngayon ay naiintindihan mo na kung ano ang mga string sa java, ang mga klase nito at kung paano ipatupad ang iba't ibang pamamaraan nito. Huwag mag-atubiling magsanay at bumalik sa tuwing kailangan mo ng karagdagang tulong. Maligayang pag-aaral!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION