myString = myString != null ? myString.toLowerCase(): myString
Этот фрагмент кода переназначает myString на myString.toLowerCase () или не переназначает его. Но использование оператора присваивания возвращает значение, которое было присвоено, таким образом, вы, по сути, вызываете это:
//if myString != null
doSomething(myString.toLowerCase(), null);
//or if myString is null
doSomething(myString /*which is null*/, null);
Следует также отметить, что строки являются неизменяемыми, и что изменение значения myString в doAnotherThing (String) не повлияет на строку, переданную в метод.