Archief - Java, wat is er mis?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

forloRn_

Legacy Member
Emerxill zei:
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
	}
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan