Question: Strings are immutable, does it mean that i always have to do something like that with a string passed to a method?

```
str= str.toLowerCase();

```

or is 

```
str.toLowerCase();

```

fine? I tried the second one and it doesn't give me any errors, why?

Answer: 
Only the first will work; the `String.toLowerCase()` returns is a new string, it doesn't change anything in place.
First one. Re-assign it.

```
str= str.toLowerCase();

```