Avatar billede dahlingo Nybegynder
18. juli 2001 - 17:57 Der er 8 kommentarer

Test af om object refference reffererer til et object???

Kan man i Java teste om en object refference (f.eks. String string) reffererer til et \"levende\" String object?

Vh
Dahl
Avatar billede nute Nybegynder
18. juli 2001 - 18:03 #1
god skikk er å opprette dine objekter ved å sette dem til null:

String str = null;

deretter kan man sette:

str = new String();
eller
str = \"noe\";

først når du skal bruke dem, så vet du alltid om de er \"levende\" ved:

if( str != null ){}

eller så kan du vel alltid:

if( str.length > 0 ){}

for å finne ut om det ligger verdi i objektet

forstår jeg deg korrekt ?

/nute
Avatar billede lbhansen Nybegynder
18. juli 2001 - 19:48 #2
hvis ikke ovenstående var svar nok, så burde du nok uddybe dit spørgsmål
Avatar billede nute Nybegynder
19. juli 2001 - 09:16 #3
lbhansen >> kanskje mannen ikke vil ha noe svar :)

dahlingo >> Hvis du skal ha et annet svar så er du nødt til å forklare hva det er du vil vite...Eller har du funnet ut av det på egen hånd ?
Avatar billede logical Nybegynder
19. juli 2001 - 11:12 #4
Svaret er simpelt, hvis det er der, er det levende. Hvis du ikke kan finde det, er det (måske)dødt, så at sige.

if (str == null) //I cannot reference, hence it may be dead

if (str != null) // Oh, it\'s there, not quite out of here yet.

Der er nogle enkelte undtagelser i API\'et (java.lang.ref), som jeg ikke forventer at du arbejder med.
Avatar billede logical Nybegynder
19. juli 2001 - 11:15 #5
Derudover kan du iøvrigt også teste typen, ala

Object objRer = ......

if (objRef instanceof String) // Hey, its a string (or descendant of string (if it was possible))

Og du kan lege lidt med tingene ved at sige:

ref.getClass().getName(), som så måske returnerer \"java.lang.String\" :-)
Avatar billede nute Nybegynder
19. juli 2001 - 11:33 #6
logical >> nja...den holder ikke hvis man oppretter en variabel:

String str = \"\";

Som noen uheldigvis gjør...

/nute
Avatar billede logical Nybegynder
19. juli 2001 - 11:42 #7
nute>>Hvorfor ikke?

Det er et String objekt, med 0 karakterer i, men det er et String objekt
Avatar billede nute Nybegynder
19. juli 2001 - 11:49 #8
HOV...jeg tenkte motsatt av hva du skrev :-)

Du har rett...du skriver jo forsåvidt nøyaktig det samme som mitt første innlegg (selv om jeg ser at jeg har gjort en liten feil med denne linje: if( str.length > 0 ){}, som skal være if( str.length >= 0 ){}

Jeg hadde bare glemt hva spørsmålet egentlig var...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester