Page 2 of 2 First 12
  1. #16
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by j design View Post
    This quote is hidden because you are ignoring this member. Show
    Even een verbetering aanbrengen:
    volgens mijn prof wordt in java wat met getallen te maken heeft geinitialiseerd op 0 door java zelf.
    Dit lijkt er beter op.
    Het is nog steeds fout en/of onvolledig, hoor. Hier geldt exact hetzelfde - immers, hoe kan java onderscheid maken tussen 'iets dat met getallen te maken heeft' en iets anders? Java kent enkel objecten en primitieven, daar hebben 'getallen' zoals wij ze kennen niets mee te zien.

    Code:
    public class Foo {
        private int intA;
        private Integer integerA;
    
        public Foo() { }
    
        public void bar() {
            int intB;
            Integer integerB;
            System.out.println("intA: " + intA);
            System.out.println("integerA: " + integerA);
            System.out.println("intB: " + intB);
            System.out.println("integerB: " + integerB);
        }
    }
    Probeer het maar eens uit. De attributen worden geïnitialiseerd wanneer je de constructor oproept, maar de lokale variabelen geven een fout/waarschuwing. (zowel de primitieve int als het integerobject, 2 dingen die 'met getallen te maken hebben')
    no votes  

  2. #17
    r2d3's Avatar
    Registered
    28/01/03
    Location
    gent
    Posts
    111
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    die is null , daar hoef je geen prof voor te zijn .Dat kan je best zelf checken

    Code:
    public class TestMain {
    	static String s;
    
    	public static void main(String[] args) {
    		System.out.println(s);
    	}
    }
    creation by destruction , destruction by creation
    no votes  

  3. #18
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by r2d3 View Post
    This quote is hidden because you are ignoring this member. Show
    die is null , daar hoef je geen prof voor te zijn .Dat kan je best zelf checken
    Lees even de volledige topic. Er is een verschil tussen lokale variabelen en attributen.
    no votes  

  4. #19
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Ik heb de String op null geïnitialiseerd omwille van de reden die Cycloon aanhaalde en voor de rest moet je maar naar Parnakra luisteren, behalve voor dit dan:

    als je String x = new String(); doet gaat x inderdaad standaard een null-waarde meekrijgen (of een lege string, zou ik eens moeten nakijken - maar komt op hetzelfde neer)
    no votes  

  5. #20
    Emerxill's Avatar
    Registered
    17/07/02
    Location
    Hasselt
    Posts
    2,970
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/18
    Quote Originally Posted by Parnakra View Post
    This quote is hidden because you are ignoring this member. Show
    /edit: om alle verwarring te vermijden, als je String x = new String(); doet gaat x inderdaad standaard een null-waarde meekrijgen (of een lege string, zou ik eens moeten nakijken - maar komt op hetzelfde neer) omdat de constructor het string-object initialiseert.
    Em gaat dan een lege char sequence maken (new char[0]). Dus eigenlijk hetzelfde als String s = "".
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization
    no votes  

  6. #21
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Quote Originally Posted by Emerxill View Post
    This quote is hidden because you are ignoring this member. Show
    Em gaat dan een lege char sequence maken (new char[0]). Dus eigenlijk hetzelfde als String s = "".
    Dat is niet hetzelfde. "" is een string literal die terechtkomt in een pool van string literals, terwijl new String() altijd een nieuw object oplevert.

    Code:
    public class StringLiterals {
    
    	public static void main(String[] args) {
    
    		String a = "";
    		String b = "";
    		String c = new String();
    		String d = new String("");
    
    		System.out.println(a == b); // true
    		System.out.println(a == c); // false
    		System.out.println(a == d); // false
    
    		System.out.println(a.equals(b)); // true
    		System.out.println(a.equals(c)); // true
    		System.out.println(a.equals(d)); // true
    	}
    }
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in