kirk wrote:
> Reinier Zwitserloot wrote:
>   
>> Wait, what?
>>
>> String being final was a mistake?
>>
>> Was that a troll?
>>   
>>     
> I don't troll, it's a waste of time!
>   
>> If string wasn't final, then string isn't immutable,
>>     
> don't confuse variables with class declarations.
>   
>>  and everytime you
>> pass strings around, you'd need to make a defense copy. Java as a
>> whole would be utterly unusable.
>>   
>>     
> nonsense, think about the implications of final on a class declaration 
> and then think about the consequences and what you've just wrote. I've 
> read you long enough to know that once you really think about it.... try 
> an string implementation that isn't final and think about the ways you 
> could usefully extend it and have those implementations automatically 
> accept the subclass. UTF is but one small example.
>
> Regards,
> Kirk
>
>   
>> On Feb 22, 8:59 am, kirk <[email protected]> wrote:
>>   
>>     
>>> [email protected] wrote:
>>>     
>>>       
>>>> On Feb 17, 6:15 am, Alexander Snaps <[email protected]> wrote:
>>>>       
>>>>         
>>>>> On Sun, Feb 15, 2009 at 7:13 PM, Reinier Zwitserloot 
>>>>> <[email protected]>wrote:
>>>>>         
>>>>>           
>>>>>> I mark any immutable class final, because if it isn't, then you can't
>>>>>> rely on its immutability (any subclass is assignment compatible and is
>>>>>> not neccessarily immutable!).
>>>>>>           
>>>>>>             
>>>>> While I tend to agree with marking "type" classes as final, I don't 
>>>>> believe
>>>>> that a class being immutable is reason enough to mark it final.
>>>>>         
>>>>>           
>>>> If it's not final, it probably isn't immutable. Take java.io.File.
>>>> Please.
>>>>       
>>>>         
>>> Marking a class as final is a whole different ball game than marking a
>>> variable as final. For example, marking String as final was a HUGE
>>> mistake IMHO. It prevented people from making some very useful
>>> extensions. It's also responsible for a lot of code bloat. I'm not
>>> against making a class final. That said, to do so because of the need to
>>> mother other developers shouldn't be one of them.
>>>       
That's what interfaces are for. If you want to accuse Java of using a 
concrete type as parameter and return type, than I'm happy to join you. 
And Reinier already did in the other branch: CharSequence or something 
similar should have been there earlier and could still be used more widely.

  Peter

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to