JavaRush /Java Blog /Random-TL /10 Karamihan sa mga Tanong Tungkol sa Mga String sa Java
ext4
Antas

10 Karamihan sa mga Tanong Tungkol sa Mga String sa Java

Nai-publish sa grupo

Ang nangungunang 10 pinaka-tinatanong tungkol sa mga string sa Java ay binanggit dito

[Перевод] 10 самых задаваемых вопросов о строках в Java - 1
  1. Paano ihambing ang mga string? Ano ang gagamitin: " ==" o equals()?

    Sa madaling salita, ang " ==" ay naghahambing ng mga sanggunian sa mga string, ngunit equals()inihahambing ang mga halaga na nasa mga string na iyon. Kung ayaw mong suriin na ang dalawang string ay magkaparehong bagay, dapat mong gamitin ang equals().

    Mainam din na malaman ang konsepto ng string pool .

  2. Bakit mas pinipili char[]ang mga string ( String) para sa pagprotekta sa sensitibong impormasyon?

    Ang mga string ay hindi nababago . Nangangahulugan ito na kapag nalikha ang isang string, hindi ito mababago hangga't hindi tumatakbo ang tagakolekta ng basura. Sa kaso ng isang array, medyo halata na maaari nating baguhin ang mga elemento nito. Sa ganitong paraan, ang sensitibong impormasyon (tulad ng isang password) ay hindi maiimbak sa malinaw na teksto saanman sa programa.

  3. Maaari ba tayong magpasa ng mga string bilang parameter kapag gumagamit ng switch statement ?

    Oo, simula sa bersyon 7 ng JDK. Dati, sa bersyon 6, hindi ito posible.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Paano i-convert ang isang string sa isang halaga ng integer?

    int n = Integer.parseInt("10");

    Ang parehong napupunta para sa iba pang mga primitive na uri sa Java.

  5. Paano hatiin ang isang string sa mga linyang may hangganan sa espasyo?

    Ang pinakamadaling paraan ay ang paggamit ng mga regular na expression. Ang " \s" ay gumaganap bilang kapalit ng mga character na whitespace gaya ng " ", " \t", " \r", " \n".

    String[] strArray = aString.split("\\s+");
  6. < Ano ba talaga ang ginagawa ng pamamaraan substring()?

    Sa JDK 6, ang pamamaraan substring()ay nagpakita ng isang bahagi ng mga character mula sa isang umiiral na string, ngunit hindi lumikha ng isang hiwalay na halimbawa ng string. Upang lumikha ng bagong string, na kinakatawan bilang isang hanay ng mga character, maaari kang magdagdag ng ilang walang laman na string, halimbawa, tulad nito:

    str.substring(m, n) + ""

    Ang resulta ay isang hanay ng mga character, na aming bagong string. Kung minsan, ang diskarteng ito ay maaaring mabawasan ang oras ng pagpapatupad ng code dahil maaaring sirain ng tagakolekta ng basura ang hindi nagamit na malalaking string at mag-imbak lamang ng mga substring.

    Sa Oracle JDK 7, ang pamamaraan substring()ay lumilikha ng isang bagong array ng character nang hindi gumagamit ng isang umiiral na. Maaari mo ring tingnan ang diagram na kumakatawan sa pagkakaiba sa pagitan ng substring() na mga pamamaraan sa JDK 6 at JDK 7 .

  7. String vs StringBuilder vs StringBuffer

    Stringvs StringBuilder: StringBuildernababago, nangangahulugan ito na maaari nating baguhin ang nilalaman nito pagkatapos malikha ang bagay.

    StringBuildervs StringBuffer: StringBuffernaka-synchronize, ibig sabihin, gumagana ito nang tama kapag ginamit mula sa maraming thread nang sabay-sabay, ngunit mas mabagal kaysa sa StringBuilder.

  8. Paano ulitin ang isang linya nang maraming beses?

    В Python, мы можем просто умножить строку на число n и, тогда, она будет повторяться n раз. В Java, мы можем использовать метод repeat() из класса StringUtils библиотеки Apache Commons Lang.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Как конвертировать строку в date?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. Как посчитать количество вхождений определённого символа в строке?

    Используйте класс StringUtils из библиотеки Apache Commons Lang.

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION