Hem Personliga finanser Jämförelse av objekt i Java - dummies

Jämförelse av objekt i Java - dummies

Video: Programmering i C: Mer om binärfiler. Prolog. En tenta. Del 1 (av 2). 2024

Video: Programmering i C: Mer om binärfiler. Prolog. En tenta. Del 1 (av 2). 2024
Anonim

När du börjar arbeta med objekt i Java, finner du att du kan använda == och! = att jämföra objekt med varandra En knapp som du ser på datorskärmen är till exempel ett objekt. Du kan fråga om den sak som bara var musklickad är en viss knapp på din skärm. Du gör det här med Java: s likhetsoperatör.

om (e. GetSource () == bCopy) {Urklipp. setText (vilken. getText ());

Den stora gotchaen med Javas jämförelsesschema kommer när man jämför två strängar. När du jämför två strängar med varandra, vill du inte använda dubbla lika tecken. Om du använder dubbla lika tecken skulle du fråga, "Är den här strängen lagrad på exakt samma plats i minnet som den andra strängen? "Vanligtvis är det inte vad du vill fråga.

I stället vill du vanligtvis fråga, "Har den här strängen samma tecken i den som den andra strängen? "Att fråga den andra frågan (den mer lämpliga frågan) Java-strängtypen har en metod som heter lika. (Precis som allt annat i det kända universet, definieras denna likvärdiga metod i Java API, kort för Application Programming Interface.)

Med samma metod jämförs två strängar för att se om de har samma tecken i dem. För ett exempel med Java: s jämlikhetsmetod, se den här kodlistan. (Figuren visar en körning av programmet i listan.)

importera statisk java. lang. Systemet. *; importera java. util. Scanner; public class CheckPassword {public static void main (String args []) {ut. skriv ut ("Vad är lösenordet?"); Skannertangentbord = Ny skanner (in); String lösenord = tangentbord. Nästa(); ut. println ("Du skrev >>" + lösenord + "<<"); ut. println (); om (lösenord == "svärdfisk") {ut. println ("Ordet du skrev är lagrat"); ut. println ("på samma plats som den verkliga"); ut. println ("lösenord. Du måste vara en"); ut. println ("hacker.");} annars {ut. println ("Ordet du skrev inte är"); ut. println ("lagrad på samma plats som"); ut. println ("det riktiga lösenordet, men det är"); ut. println ("no big deal.");} ut. println (); om (lösenordet är lika med ("svärdfisk")) {ut. println ("Ordet du skrev har"); ut. println ("samma tecken som den verkliga"); ut. println ("lösenord. Du kan använda vår"); ut. println ("värdefulla system.");} annat {ut. println ("Ordet du skrev inte"); ut. println ("har samma tecken som"); ut. println ("det riktiga lösenordet. Du kan inte"); ut. println ("använd vårt värdefulla system.");} tangentbord. stäng ();}}

I listan är samtalstangentbordet. Nästa () tar tag i vilket ord användaren skriver på datorns tangentbord. Koden shoves detta ord i variabeln heter lösenord. Därefter använder programmets om deklarationer använder två olika tekniker för att jämföra lösenord med "svärdfisk".

Resultaten av att använda == och använda Java: s lika metod.

Exemplen i den tryckta boken är mestadels textbaserade, men du kan hitta mer avancerade versioner av de flesta exempel på Dummies webbplats. Dessa snyggare versioner har fönster, knappar, textfält och andra element i ett typiskt grafiskt användargränssnitt (GUI).

Ju mer lämpliga av de två teknikerna används Java: s likvärdiga metod. Likvärdiga metoden ser roligt ut, eftersom när du ringer det lägger du en punkt efter en sträng och lägger den andra strängen inom parentes. Men det är så du måste göra det.

När du ringer till Java: s likvärdiga metod spelar ingen roll vilken sträng som får pricken och vilken får parenteserna. I listan kan du exempelvis ha skrivit

om ("svärdfisk". Är lika med (lösenord))

Metoden skulle fungera lika bra.

Ett samtal till Java: s lika metod ser obalanserad ut, men det är det inte. Det finns en orsak bakom den uppenbara obalansen mellan pricken och parenteserna. Tanken är att du har två objekt: lösenordsobjektet och "svärdfisk" -objektet.

Var och en av dessa två objekt är av typen String. (Lösenordet är en variabel av typen String, och "svärdfisk" är en String bokstavlig.) När du skriver lösenord. liknar ("svärdfisk"), du ringer en lika metod som hör till lösenordsobjektet. När du ringer till den här metoden matar du "svärdfisk" till metoden som metodens parameter (ordspråk).

När du jämnar strängar med varandra, använd samma metod - inte dubbelt lika tecken.

Jämförelse av objekt i Java - dummies

Redaktörens val

Organisera e-postmarknadsföring innehåll för att matcha dina mål - dummies

Organisera e-postmarknadsföring innehåll för att matcha dina mål - dummies

När du utvecklar e-postmarknadsföring innehåll, överväga hur din publik kommer att uppleva dina avsikter. E-postmeddelanden ger större mening åt dina framtidsutsikter och kunder när innehållet du skapar och levererar är knutet samman under kända teman. När din tid är begränsad kan du bli frestad att skapa e-postinnehåll som passar ditt schema bättre ...

Nya formulärinmatningstyper i HTML5 - dummies

Nya formulärinmatningstyper i HTML5 - dummies

HTML-formulär är centrerade kring det ödmjuka men flexibla inmatningselementet . HTML5 lägger till ett antal väldigt användbara former av inmatning som hjälper till att göra HTML till ett mer modernt användargränssnitt. Även om stöd för dessa taggar inte är universellt är det säkert att börja använda dem nu. Varje webbläsare (även IE6) som inte förstår den avancerade ...

Utföra visuell designtest på en ny webbplats - dummies

Utföra visuell designtest på en ny webbplats - dummies

Det visuella designteamet för en webbplats kan skapa några olika "look and feel" -alternativ och testa dem med användare. Den här designen kallas perfekt för att passera en hemsida och en inre eller undersida av din webbplats, men de är inte 100 procent korrekta när det gäller ...

Redaktörens val

Objektiv till dina digitala SLR-dummies

Objektiv till dina digitala SLR-dummies

Zoomlinser är inte den enda typen av linser som är tillgängliga för din dSLR . Du borde veta hur de skiljer sig från de andra alternativen. Här är några av alternativen till zoomlinser i allmänhet och vanliga zoomlinser i synnerhet. Prime-objektiv En primärlins har en fast brännvidd. En lins med fast fokusering ...

Hur man skapar bra belysning för din digitala fotografi - dummies

Hur man skapar bra belysning för din digitala fotografi - dummies

Ja, du kan återskapa bra belysning om du vet vad du gör. Och ingenting kan förstöra ett foto snabbare än dålig belysning. Du kan göra många förbättringar till ett utmanande ämne helt enkelt genom att använda bra belysningsteknik. Din farbrors skalliga huvud, en tonåring som är mindre än perfekt, en hård upplyst strandplats, en droppe ...

ÖKa bildförstoring med telekonverterare - dummies

ÖKa bildförstoring med telekonverterare - dummies

En telekonverter är en sekundärlins som du placerar mellan din lins och kamerokroppen (precis som förlängningsröret). En telekonverter tar emot bilden som skapats av din lins och ger en förstorad version av den till kamerans digitala sensor. Detta kan vara ett användbart verktyg i makrofotografering men kan också vara ...

Redaktörens val

Undvik hack på sårbara trådlösa arbetsstationer - dummies

Undvik hack på sårbara trådlösa arbetsstationer - dummies

Trådlösa arbetsstationer har massor av säkerhetsproblem och kan vara inriktade på hackar - från svaga lösenord till opatchade säkerhetshål till lagring av WEP- och WPA-krypteringsnycklar lokalt. De flesta av de kända trådlösa klientens sårbarheter har blivit patchade av sina respektive leverantörer, men du vet aldrig om alla dina trådlösa system är ...

Grundläggande Mac Network Settings - dummies

Grundläggande Mac Network Settings - dummies

De flesta nätverksinställningarna på en Mac är automatiska. Om du föredrar kan du titta på och ändra standardnätverksinställningarna genom att följa dessa steg: