Πώς να μετατρέψετε το αντικείμενο String σε αντικείμενο Boolean;

Πώς να μετατρέψετε το αντικείμενο String σε αντικείμενο Boolean;

Λύση

Δοκιμάστε (ανάλογα με τον τύπο αποτελέσματος που θέλετε):

Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");

Πλεονέκτημα:

  • Boolean: αυτό δεν δημιουργεί νέες περιπτώσεις της Boolean, οπότε η απόδοση είναι καλύτερη (και λιγότερη συλλογή σκουπιδιών). Επαναχρησιμοποιεί τις δύο περιπτώσεις είτε του Boolean.TRUE είτε του Boolean.FALSE.
  • boolean: δεν χρειάζεται καμία περίπτωση, χρησιμοποιείτε τον πρωτόγονο τύπο.

Η επίσημη τεκμηρίωση βρίσκεται στο Javadoc.


ΕΝΗΜΕΡΩΣΗ:

αλλά έχει κόστος απόδοσης.
Προτείνω να το χρησιμοποιείτε μόνο όταν θα έπρεπε να ρίξετε τον εαυτό σας, όχι όταν το ρίξιμο είναι δυνατόν να αποφευχθεί.

Σχόλια (4)

Πρέπει να είστε προσεκτικοί όταν χρησιμοποιείτε Boolean.valueOf(string) ή Boolean.parseBoolean(string). Ο λόγος για αυτό είναι ότι οι μέθοδοι θα επιστρέφουν πάντα false αν το String δεν είναι ίσο με "true" (η περίπτωση αγνοείται).

Για παράδειγμα:

Boolean.valueOf("YES") -> false

Εξαιτίας αυτής της συμπεριφοράς θα συνιστούσα να προσθέσετε κάποιο μηχανισμό για να διασφαλίσετε ότι η συμβολοσειρά που πρέπει να μεταφραστεί σε Boolean ακολουθεί μια καθορισμένη μορφή.

Για παράδειγμα:

if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
    Boolean.valueOf(string)
    // do something   
} else {
    // throw some exception
}
Σχόλια (3)
Boolean b = Boolean.valueOf(string);

Η τιμή του b είναι αληθής αν η συμβολοσειρά δεν είναι null και είναι ίση με true (αγνοώντας την περίπτωση).

Σχόλια (0)