U initialiseert een int
-variabele die is gedefinieerd binnen een methode om een waarde van 0
te hebben totdat u specifieke waarden berekent voor de int
. Waarop kan men char
-waarden initialiseren?
char retChar = '';
dit geeft een foutmelding en als ik initialiseer naar -1
zegt het te veel karakters.
Antwoord 1, autoriteit 100%
Typisch voor lokalevariabelen initialiseer ik ze zo laat als ik kan. Het komt zelden voor dat ik een “dummy”-waarde nodig heb. Als u echter doe, kunt u elke gewenste waarde gebruiken – het maakt geen verschil, als u zeker weet dat u een waarde gaat toewijzen voordat u deze leest.
Als je het char
-equivalent van 0 wilt, is het gewoon Unicode 0, dat kan worden geschreven als
char c = '\0';
Dat is ook de standaardwaarde voor een instance(of statische) variabele van het type char
.
Antwoord 2, autoriteit 29%
Ofwel initialiseer je de variabele naar iets
char retChar = 'x';
of je laat het automatisch geïnitialiseerd, dat is
char retChar = '\0';
een ascii 0, hetzelfde als
char retChar = (char) 0;
Waarmee kan men char-waarden initialiseren?
Klinkt twijfelachtig tussen automatische initialisatie, wat betekent dat je geen invloed hebt, of expliciete initialisatie. Maar u kunt de standaard niet wijzigen.
Antwoord 3, autoriteit 8%
ik zou gewoon doen:
char x = 0; //Which will give you an empty value of character
Antwoord 4, autoriteit 4%
je kunt het in plaats daarvan initialiseren naar ‘ ‘. De reden dat u een fout -1 met te veel tekens heeft ontvangen, is omdat het ‘-‘ en 1 als gescheiden behandelt.
Antwoord 5
Misschien is 0
of '\u0000'
voldoende?
Antwoord 6
Zoals je zult zien in de gekoppelde discussie, is het niet nodig om char met een speciaal teken te initialiseren, zoals het voor ons is gedaan en wordt weergegeven door ‘\u0000’ tekencode.
Dus als we gewoon willen controleren of de opgegeven char is geïnitialiseerd, schrijf dan:
if(charVariable != '\u0000'){
actionsOnInitializedCharacter();
}
Link naar vraag: wat is de standaardwaarde van char?