JavaRush /Java Blog /Random-TL /Tanong at Sagot: Paano i-convert nang tama ang String sa ...

Tanong at Sagot: Paano i-convert nang tama ang String sa int sa Java?

Nai-publish sa grupo
Tinatayang antas ng kinakailangang kaalaman: Java Syntax quest at kaunting Java Core.
Tanong at Sagot: Paano i-convert nang tama ang String sa int sa Java?  - 1
Sa pagtatapos ng unang JavaRush quest, nalaman namin ang tungkol sa uri ng conversion. Sa antas 10 na mga lektura, makikita mo na ang pag-convert intsa Stringay napakasimple, at sa pangkalahatan, halos anumang primitive na uri ay maaaring ma-convert sa Stringwalang problema.
int x = 5;
String text = "X=" + x;
Gayundin, alam ng mga nakatapos na sa level 10 ng Java Syntax quest na imposibleng i-convert ang isang reference sa isang numero sa isang reference sa isang string. Kaya ano ang pinakamahusay na paraan upang i-convert ang isang string sa isang primitive integer? Mas mainam na gawin ito gamit ang paraan ng parseIntklase Integer. Ang pamamaraan parseIntay dapat mag-convert Stringsa intat magtapon ng isang pagbubukod NumberFormatExceptionkung ang string ay hindi mako-convert sa uri int.

Halimbawa

Pangunahing linya na nagko-convert ng string sa isang integer:
int i = Integer.parseInt (myString);
Kung ang string na tinutukoy ng variable myStringay isang wastong integer, gaya ng "1", "200", tahimik itong iko-convert ng Java sa isang primitive na uri ng data int. Kung sa ilang kadahilanan ay nabigo ito, ang naturang aksyon ay maaaring magtapon ng exception NumberFormatException, kaya para gumana nang tama ang program para sa anumang string, kailangan namin ng kaunti pang code. Isang program na nagpapakita ng paraan ng pag-convert Java Stringsa int, kontrol para sa posibleng NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      System.out.println("int i = " + i);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }

Pagtalakay

Kapag pinag-aralan mo ang halimbawa sa itaas, makikita mo na ang pamamaraan Integer.parseInt (s.trim ())ay ginagamit upang gawing sinteger ang isang string i, at ito ay nangyayari sa sumusunod na linya ng code:
int i = Integer.parseInt (s.trim ())
Ngunit kung minsan ang pag-convert ng isang string sa isang numero ay hindi gagana. Sa aming halimbawa, tulad ng isang string ay ang pangalan fred. Maaari nating pag-usapan ang tungkol sa mga code kung saan nakasulat ang mga titik sa isang computer, ngunit, pormal na pagsasalita, si fred ay hindi isang numero, at mas mahusay na iwanan ito bilang isang string. Ang aming programa ay idinisenyo upang kung susubukan mong i-convert ang "fred" sa isang numero, ang proseso Integer parseIntay magtapon ng exception NumberFormatException, na dapat mong hawakan sa isang block try / catch. Sa kasong ito hindi mo kailangang gamitin ang paraan trim ()ng klase String, ngunit sa totoong programming dapat mong gamitin ito. Kaya ipinakita namin ito sa iyo. Dahil lumabas na ang paksang ito, narito ang ilang "pahiwatig" sa paksa ng mga klase Stringat Integer:
  • Integer.toString (int i)ginamit upang i-convert intsa mga string ng Java.
  • Kung gusto mong i-convert ang isang bagay Stringsa isang bagay Integer(sa halip na isang primitive class int), gamitin ang valueOf ()on-class na paraan Integersa halip na ang parseInt ().
  • Kung kailangan mong i-convert ang mga string sa karagdagang primitive na mga patlang ng Java, gumamit ng mga pamamaraan tulad ng Long.parseLong ()isang ito.
Sinagot ni: Alice Watson
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION