Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Det gør java compileren så vidt jeg ved. Du kan ikke bruge en unassigned variabel, fordi compileren ikke tillader det. Du kan på den måde tjekke om den er unassigned ved at prøve at bruge den.
Det er rigtigt man kan lave en unassigned variabel, men man kan ikke bruge den, som man kan i fx c++, hvor den bare har en tilfældig værdi. I Java brokker compileren sig hvis man prøver at bruge den. Hvad skal du i øvrigt bruge en unassigned variabel til?
Der er sagt meget rigtigt i denne tråd, men hvis vi nu lige skal prøve at samle trådene list:
* klasse members bliver altid initialiseret * instans members bliver altid initialiseret * integers/floating point/boolean/objects initialiseres med 0/0.0/false/null * lokale variable i metoder giver compile fejl hvis man forsøger at bruge dem uden at de er initialiseret
Kode eksempel:
public class Init { private static int ci; private static double cd; private static boolean cb; private static String cs; private int ii; private double id; private boolean ib; private String is; public void print() { int ai; double ad; boolean ab; String as; System.out.println(ci); System.out.println(cd); System.out.println(cb); System.out.println(cs); System.out.println(ci); System.out.println(id); System.out.println(ib); System.out.println(is); // thise oycommented gives compile errors //System.out.println(ai); //System.out.println(ad); //System.out.println(ab); //System.out.println(as); } private static void main(String[] args) { Init test = new Init(); test.print(); } }
som skriver:
0 0.0 false null 0 0.0 false null
Det er ikke muligt at teste på om en variabel er initialiseret, fordi enten er den initaliseret eller så får man en compile fejl.
For object referancer gælder det at de kan være null d.v.s. ikke pege på et objekt.
Og derfor kan man muligvis tillade sig at kalde en object referance som er null for "uinitaliseret" selvom det ikke er teknisk korrekt.
Og selvfølgelig kan man teste for om en object referance er null.
Hej alle Tak til alle og til Arne for det meget opklarende svar :) Jeg kommer fra webscripting miljøer og der er det meget forskelligt, hvordan en variabel (instance, local, parameter) opfører sig.
Synes godt om
Ny brugerNybegynder
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.