Archief - [JAVA] Static reference in a non-static method

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.

MilM

Legacy Member
Ok, je hebt de naam van uw methode aangepast :p
Ik verstond niet waarom je daar een .floor() ging gaan uitvoeren binnen een max(double a, double b) methode + die rare combinatie van hoe je het schreef (ipv een 'else')

Laat maar dus

eniac

Legacy Member
taLa. zei:
Wat daar bullshit aan is is dat de compiler slim genoeg is om in te zien dat beiden identiek zijn, en dus identieke bytecode zal genereren. Het hele argument dat hij aangeeft van er performance mee te winnen en er bytecode mee uit te sparen is dikke zever.

Stel ik me toch mijn vragen bij. Is het zo en is het altijd zo geweest?

In elk geval zou ik opletten om er zomaar bullshit tegen te plakken en met een sarcastisch ondertoontje af te komen. Bekijk 's mans palmares maar eens (en zoek voor de gein eens op hoeveel Java champions er op de hele wereld zijn), en dan zie je direct dat dat toch tenminste wat misplaatst was.

En dat geldt voor bijna al die regels: als ge u in bochten moet wringen of uw code moet bloaten om toch maar aan de regeltjes te voldoen, zijt ge fout bezig.

Ja goed, akkoord, maar die regels dienen vooral om het leesbaar en proper te houden.

MilM

Legacy Member
eniac zei:
Stel ik me toch mijn vragen bij. Is het zo en is het altijd zo geweest?

Ik kan mij niet goed voorstellen hoe dit anders zou kunnen geïnterpreteerd worden door een compiler.

if(variabele) is toch gewoon de verkorte vorm van if(variabele == true)?
Dus volgens mij is het enkel een syntax verschil binnen Java zelf?
(java die toelaat om een bepaalde instructie korter te schrijven)

Het is maar een veronderstelling, dus ik weet het niet zeker.

Gurdt

Legacy Member
true is een conditie, net als variabele == true een conditie is
ma ik denk wel dat een compiler altijd gaat zegge == true moogt ge weglaten

kweet dat compilers aan lazy evaluation doen dusja

eniac

Legacy Member
Kan, ik ben niet bepaald gespecialiseerd in compilers en bytecode ;)

edit: @MilM

taLa.

Legacy Member
eniac zei:
Stel ik me toch mijn vragen bij. Is het zo en is het altijd zo geweest?

In elk geval zou ik opletten om er zomaar bullshit tegen te plakken en met een sarcastisch ondertoontje af te komen. Bekijk 's mans palmares maar eens (en zoek voor de gein eens op hoeveel Java champions er op de hele wereld zijn), en dan zie je direct dat dat toch tenminste wat misplaatst was.

Heb het daarnet even uitgeprobeerd en de bytecode is effectief identiek. Of het altijd zo geweest is weet ik niet (zou me verbazen indien niet), maar des te meer reden om kritisch tegenover zulke regeltjes te staan.

Verder niets tegen die man zelf hoor, was alleen maar om u beetje op uw paard te krijgen :cool:

eniac

Legacy Member
De motivatie mag dan niet 100% juist zijn, de regel staat wel als een huis. Toch? :)

In elk geval: leuke discussie.

Cycloon

Legacy Member
Kemblin zei:
Je hebt het trouwens nog nergens weerlegd...

Dat heeft iemand anders al gedaan voor mij.

Kemblin zei:
Nog een leuke

Code:
public static double doe_iets(double a, double b) {
	if (a > b)
		return a;
	else if(a < b)
		return b;
	return Math.floor(a);
}

vs

Code:
public static double doe_iets(double a, double b) {
	double result;
	if (a > b)
		result = a;
	else if (a < b)
		result = b;
	else
		result = Math.floor(a);
	return result;
}

Met zulke korte stukjes kutcode kan iedereen iets bewijzen. You still didn't catch the point. Ik zou zeggen, lees eens de topic opnieuw en de reden waarom we hierover begonnen zijn. Anders blijf je hier maar stukjes codes posten die niks aantonen.

Anyway, voor mij is de kous af bij dit bericht. Als jij persé zo wil blijven programmeren, doe gerust.
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