Programmēšana

Java Boolean's getBoolean: noderīgs, kaut arī nepilnīgs

Boolean.getBoolean (virkne) metode ir statiska metode, kas šad un tad var būt noderīga. Ir ļoti viegli sajaukt šo metodi kā tādu, kas kaut kā atgriež atbilstošo Boolean, pamatojoties uz sniegto virkni (piemēram, to, ko Boolean.valueOf (String) un Boolean.parseBoolean (String) dara), taču šīs metodes Javadoc dokumentācija paskaidro, ko tā tiešām dara: Boolean.getBoolean (virkne) metode "Atgriež patiesu tikai tad, ja pastāv sistēmas rekvizīts, ko nosauc arguments, un tas ir vienāds ar virkni" true "."

The Boolean.getBoolean (virkne) metode nodrošina izstrādātājus ar metodi, kā noteikt, vai konkrētajam īpašumam ir iestatīta vērtība “true”. Tas atgriež "true" tikai tad, ja īpašums ir definēts un vērtība, kurai tā ir definēta, ir kāda veida "true", kur "true" gadījumam nav nozīmes. Pats rekvizīta nosaukums ir reģistrjutīgs, taču tā vērtība ("true", "TRUE", "true", "TRUE" utt.) iekšājūtīgs.

Šis Java kods parāda Boolean.getBoolean (virkne) darbībā.

DemonstrateBooleanGetBoolean.java

iepakojums dustin.piemēri; importēt statisko java.lang.System.out; / ** * Parādiet Boolean.getBoolean (String) lietderību, neskatoties uz tā nosaukumu * problēmu. * / public class DemonstrateBooleanGetBoolean {/ ** * Galvenā funkcija, lai izpildītu piemērus, kas parāda * Boolean.getBoolean (virkne) izmantošanu un sekas. * / public static void main (pēdējie String [] argumenti) {final String basicPropertyName = "i.am.here"; galīgā virkne basicUppercasePropertyName = basicPropertyName.toUpperCase (); galīgā virkne wereHereProperty = "bija.šeit.īpašība"; galīgā virkne wasHereProperty = "bija.šeit.īpašība"; out.println (basicPropertyName + "ir" + Boolean.getBoolean (basicPropertyName)); out.println (basicUppercasePropertyName + "ir" + Boolean.getBoolean (basicUppercasePropertyName)); out.println (wereHereProperty + "ir" + Boolean.getBoolean (wereHereProperty)); out.println (wasHereProperty + "ir" + Boolean.getBoolean (wasHereProperty)); if (Boolean.getBoolean ("i.am.set")) {System.out.println ("Esmu iestatīts !!!"); } else {System.out.println ("Es neesmu iestatīts !!!"); }}} 

Izpildot iepriekš minēto klasi ar īpašībām, kas norādītas, izmantojot Java lietojumprogrammu palaidēja opciju -D, nianses Boolean.getBoolean (virkne) tiek demonstrēti. Nākamajā ekrāna momentuzņēmumā ietvertie rezultāti to norāda Boolean.getBoolean (virkne) tiešām atgriežas taisnība kad noteikts konkrēts rekvizīta nosaukums un tas ir definēts ar virknes vērtību "true", jebkurā gadījumā četriem burtiem, kas veido "true". No otras puses, īpašuma nosaukuma mainīšana tomēr ietekmē Boolean.getBoolean (virkne). Citiem vārdiem sakot, lai gan "true" un "TRUE" ir tas pats, kas no īpašuma vērtība perspektīvā "i.am.here" un "I.AM.HERERE" ir pilnīgi atšķirīgi īpašību nosaukumi no a īpašuma nosaukums perspektīvā.

Programmai ir vairāki lietošanas veidi Boolean.getBoolean (virkne) metode, kas ietver nosacītu izpildlaika loģiku, pamatojoties uz to, vai parametrs ir iestatīts vai nav. Emuāra ziņojums Lūdzu, izmantojiet Boolean.getBoolean (SOME_FLAG_KEY), kas sīkāk aptver šo lietojumu.

Lai gan šī metode ir ļoti noderīga, nav šaubu, ka tā nav tik labi nosaukta, kā tas varētu būt bijis. Vairāki emuāra ieraksti pauž Java izstrādātāju vilšanos par šo API nosaukumu izvēli un statiskās metodes mitināšanas klasi: I Fell in the Trap of Boolean.getBoolean () [2007. gada oktobris], Java API slazdi: Boolean.getBoolean (String) [2005. gada oktobris ], Daži jautri ar Boolean.getBoolean (virkne) [2009. gada jūlijs], Boolean.getBoolean nav tas, kas, jūsuprāt, ir [2003. gada oktobris], un Ever Beened by Boolean.getBoolean (String) [šomēnes!].

Secinājums

ES atradu Boolean.getBoolean (virkne) dažreiz ir ļoti noderīga metode, taču es piekrītu arī citiem iepriekš minētajiem Java izstrādātājiem, ka tas nav viens no labākajiem API lēmumiem. Kā ieteica vairāki citi, šķiet, ka tas varētu būt labāk iederējies klasē java.lang.System, un es būtu devis priekšroku tādas metodes nosaukumam kā "isPropertyTrue (String)". Tas nozīmē, ka, apzinoties šo smalkumu un atšķirību starp Boolean.getBoolean (String) un Boolean.valueOf (String) (vai Boolean.parseBoolean (String), kas pieejams kopš J2SE 5), abas metodes var piemērot atbilstoši un būt ļoti vērtīgam noteiktās situācijās.

Šo stāstu “Java Boolean's getBoolean: Useful Albeit Imperfect” sākotnēji publicēja JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found