Kontrollera ifall användarnamnet redan existerar
Betrakta följande rader kod:
public void add(String userName,String listCsv)
throws IllegalArgumentException
{
if ( userName == null )
userName = "";
userName = userName.trim().toLowerCase();
Min fråga: Vad säger egentligen de tre sista raderna? Om användarnamnet inte finns så skapar vi en tom sträng som vi sedan konverterar till små bokstäver?
Om userName är null så sätter du userName till en tom sträng. Detta är det enda som händer i if-satsen.
Raden efter det händer oavsett om userName är null eller ej och den gör så att den tar bort "whitespace" alltså, tabs radbyten mellanslag och liknande, i början och i slutet av strängen. Sedan gör den om all text till gemener.
Stokastisk skrev :Om userName är null så sätter du userName till en tom sträng. Detta är det enda som händer i if-satsen.
Raden efter det händer oavsett om userName är null eller ej och den gör så att den tar bort "whitespace" alltså, tabs radbyten mellanslag och liknande, i början och i slutet av strängen. Sedan gör den om all text till gemener.
Okej, glömde att måsvingarna inte fanns med i koden. Vad är syftet med att skapa en tom sträng? För att den skall peka på något? I vilka fall kan username vara null?
Kommer inte username alltid vara null innan den läggs till?
userName kommer ha det värde man anropar funktionen med. Om det är med ett null-värde så kommer det vara null. Alltså om man anropar något liknande
add(null, "listCsv");
då kommer userName vara null. Antag att man inte hanterar null fallet, då kommer raden
userName.trim().toLowerCase();
orsaka en NullPointerException, så för att undvika detta så låter man userName vara en tom sträng.
Stokastisk skrev :userName kommer ha det värde man anropar funktionen med. Om det är med ett null-värde så kommer det vara null. Alltså om man anropar något liknande
add(null, "listCsv");
då kommer userName vara null. Antag att man inte hanterar null fallet, då kommer raden
userName.trim().toLowerCase();
orsaka en NullPointerException, så för att undvika detta så låter man userName vara en tom sträng.
Okej, då är jag nog med på noterna. Tack