Een string converteren naar een geheel getal in Java

Een string converteren naar een geheel getal in Java
Java

String naar int-conversie in Java begrijpen

Het converteren van een string naar een geheel getal is een veel voorkomende taak bij het programmeren in Java. Vaak moet u numerieke waarden die als tekenreeksen worden weergegeven, omzetten in hun gehele equivalenten voor verschillende berekeningen en bewerkingen. Deze conversie is eenvoudig en kan worden bereikt met behulp van verschillende methoden die door de Java-taal worden geboden.

In dit artikel zullen we verschillende technieken onderzoeken om een ​​string om te zetten in een geheel getal in Java. Of u nu te maken heeft met gebruikersinvoer, gegevens parseert of tekenreeksen uit een bestand verwerkt, weten hoe u deze conversie efficiënt en nauwkeurig kunt uitvoeren, is essentieel voor elke Java-ontwikkelaar.

Commando Beschrijving
Integer.parseInt() Converteert een string naar een primitieve int. Genereert een NumberFormatException als de tekenreeks niet als geheel getal kan worden geparseerd.
Integer.valueOf() Converteert een tekenreeks naar een Integer-object. Vergelijkbaar met parseInt, maar retourneert een Integer-object in plaats van een primitieve int.
Scanner Een klasse in het java.util-pakket dat wordt gebruikt om invoer te verkrijgen van primitieve typen zoals int, double, enz., en strings. Wordt gebruikt om de invoerreeksen te parseren.
nextLine() Een methode van de klasse Scanner die de scanner voorbij de huidige regel laat bewegen en de overgeslagen invoer retourneert.
try-catch Een codeblok dat wordt gebruikt om uitzonderingen af ​​te handelen. De code in het try-blok wordt uitgevoerd en als er een uitzondering optreedt, wordt het catch-blok uitgevoerd.
NumberFormatException Een subklasse van IllegalArgumentException die wordt gegenereerd wanneer een poging om een ​​tekenreeks naar een numeriek type te converteren mislukt.

Conversiemethoden van String naar int begrijpen

De meegeleverde scripts demonstreren verschillende methoden om een ​​string naar een geheel getal in Java te converteren. De eerste methode maakt gebruik van de Integer.parseInt() commando, wat een eenvoudige manier is om een ​​string met een geldig geheel getal te parseren naar een int-type. Deze methode is efficiënt en levert a NumberFormatException als de tekenreeks niet kan worden geparseerd. Het tweede script gebruikt Integer.valueOf(), wat vergelijkbaar is met Integer.parseInt() maar geeft een terug Integer object in plaats van een primitieve int. Dit kan handig zijn bij het werken met verzamelingen of andere gegevensstructuren waarvoor objecten nodig zijn in plaats van primitieve typen.

Het derde voorbeeld introduceert de Scanner klasse uit de java.util pakket, wat handig is voor het lezen van invoer uit verschillende bronnen, inclusief gebruikersinvoer. De nextLine() De methode van de klasse Scanner leest de volgende invoerregel als een string, die vervolgens wordt geconverteerd naar een int met behulp van Integer.parseInt(). Deze methode is vooral handig als u gebruikersinvoer dynamisch moet verwerken. Het vierde script voegt een laag voor foutafhandeling toe met behulp van a try-catch blok om op te vangen NumberFormatException. Dit zorgt ervoor dat als de tekenreeks niet als geheel getal kan worden geparseerd, het programma de fout netjes kan afhandelen zonder te crashen.

Een tekenreeks naar een geheel getal converteren in Java met behulp van Integer.parseInt

Gebruikmakend van de ingebouwde Java-klasse Integer

public class StringToIntExample1 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Conversie van tekenreeks naar geheel getal met behulp van Integer.valueOf in Java

Implementatie van de Java-methode Integer.valueOf

public class StringToIntExample2 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.valueOf(str);
        System.out.println("Converted number: " + number);
    }
}

Een tekenreeks naar een geheel getal converteren in Java met behulp van Scanner

Gebruik maken van Java's Scanner-klasse voor conversie

import java.util.Scanner;
public class StringToIntExample3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        String str = scanner.nextLine();
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Een string converteren naar een geheel getal in Java met behulp van try-catch voor foutafhandeling

Integratie van foutafhandeling met try-catch-blokken in Java

public class StringToIntExample4 {
    public static void main(String[] args) {
        String str = "1234a";
        try {
            int number = Integer.parseInt(str);
            System.out.println("Converted number: " + number);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number format");
        }
    }
}

Alternatieve conversiemethoden voor tekenreeksen naar gehele getallen onderzoeken

Naast de reeds besproken methoden is er een andere manier om een ​​string naar een geheel getal in Java te converteren het gebruik van bibliotheken van derden, zoals Apache Commons Lang. De NumberUtils klasse uit deze bibliotheek biedt een hulpprogramma-methode, NumberUtils.toInt(), die kan worden gebruikt voor conversie. Deze methode kan bijzonder nuttig zijn omdat deze extra functies biedt, zoals het retourneren van een standaardwaarde als de conversie mislukt, het vermijden van uitzonderingen en het robuuster maken van de code.

Een andere interessante methode is het gebruik van de DecimalFormat klasse uit de java.text pakket. Hoewel het voornamelijk wordt gebruikt voor het opmaken van decimale getallen, kan het ook tekenreeksen in getallen ontleden. Door een exemplaar te maken van DecimalFormat en het gebruiken ervan parse() Met deze methode kan een string worden geconverteerd naar een getal en vervolgens worden omgezet naar een geheel getal. Deze aanpak komt minder vaak voor, maar kan nuttig zijn in specifieke scenario's waarin getalnotatie ook vereist is. Het begrijpen van deze alternatieve methoden biedt een breder perspectief op de conversie van tekenreeksen naar gehele getallen en helpt bij het kiezen van de beste methode op basis van de specifieke vereisten van de toepassing.

Veelgestelde vragen en antwoorden over de conversie van tekenreeksen naar gehele getallen in Java

  1. Wat gebeurt er als de string niet-numerieke tekens bevat?
  2. Als de string niet-numerieke tekens bevat, zijn methoden zoals Integer.parseInt() En Integer.valueOf() zal een gooien NumberFormatException.
  3. Hoe kan ik op een correcte manier omgaan met conversiefouten?
  4. U kunt gebruik maken van een try-catch blok om op te vangen NumberFormatException en handel de fout netjes af.
  5. Is er een manier om een ​​standaardwaarde op te geven als de conversie mislukt?
  6. Ja, met behulp van Apache Commons Lang's NumberUtils.toInt() methode kunt u een standaardwaarde opgeven die moet worden geretourneerd als de conversie mislukt.
  7. Kan ik een tekenreeks met een decimaalpunt omzetten in een geheel getal?
  8. Het direct converteren van zo'n string zal een uitzondering opleveren. Je moet het eerst parseren naar a float of doubleen cast vervolgens naar een int.
  9. Wat is het verschil tussen Integer.parseInt() En Integer.valueOf()?
  10. Integer.parseInt() retourneert een primitieve int, terwijl Integer.valueOf() retourneert een Integer voorwerp.
  11. Kan ik gebruiken Scanner voor conversie in een consoleapplicatie?
  12. Ja de Scanner class is ideaal voor het lezen van gebruikersinvoer en het converteren van tekenreeksen naar gehele getallen.
  13. Is er een methode om een ​​string in één regel code naar een geheel getal te converteren?
  14. Ja, je kunt het gebruiken Integer.parseInt() of Integer.valueOf() op één regel om een ​​string naar een geheel getal te converteren.

De discussie over String naar int-conversie afronden

Het converteren van een string naar een geheel getal in Java is een fundamentele vaardigheid die op verschillende manieren kan worden bereikt. Het begrijpen en kiezen van de juiste methode hangt af van de specifieke behoeften van uw toepassing. Of je nu basismethoden gebruikt zoals Integer.parseInt() En Integer.valueOf(), of robuustere oplossingen zoals de Scanner class- en bibliotheken van derden, zorgt het beheersen van deze technieken ervoor dat u string-naar-geheel-conversies efficiënt en effectief kunt verwerken.