Right. In general, we don't use equals() to check for equality when invoking
string setters since it's generally not worth the extra code to perform the
null checks and the performance overhead of a string scan.
On Tuesday, May 26, 2009, at 09:46AM, "Christopher Brind"
<[email protected]> wrote:
>What if previousTitle is null?
>
>Though it will fire the listeners unnecessarily (if the titles are the same
>text just with a different reference) Greg's version is safer.
>
>Cheers,
>Chris
>
>
>2009/5/26 Edgar Merino <[email protected]>
>
>> Ok, just a little change there:
>>
>> if (!previousTitle.equals(title)) { ... }
>>
>> Edgar Merino
>>
>>
>>
>> Greg Brown escribió:
>>
>> Good catch. There's no reason we need the XOR. I changed it to this:
>>>
>>> String previousTitle = this.title;
>>>
>>> if (previousTitle != title) {
>>> this.title = title;
>>> windowListeners.titleChanged(this, previousTitle);
>>> }
>>>
>>> Thanks,
>>> Greg
>>> On Tuesday, May 26, 2009, at 02:37AM, "Edgar Merino" <[email protected]>
>>> wrote:
>>>
>>>
>>>> Hello,
>>>>
>>>> By looking through the Window source code, I've noticed the setTitle()
>>>> method has this restriction:
>>>>
>>>> String previousTitle = this.title;
>>>>
>>>> if (previousTitle == null ^ title == null) {
>>>> this.title = title;
>>>> windowListeners.titleChanged(this, previousTitle);
>>>> }
>>>>
>>>> This is keeping the windows in my application to not be able to change
>>>> their title once it's been set for the first time. Why is that restriction
>>>> there? I've removed the restriction and changed it to only check if the new
>>>> title is not null, so far I haven't encountered any problems, but there
>>>> might be some explanation as to why it's there.
>>>>
>>>> Edgar Merino
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>