lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (LUCENE-1989) CharArraySet cannot be made generic, because it violates the Set<char[]> interface
Date Sat, 17 Oct 2009 20:29:31 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12766899#action_12766899
] 

Uwe Schindler edited comment on LUCENE-1989 at 10/17/09 1:27 PM:
-----------------------------------------------------------------

This is the only possibility to make it somehow genericfied. As all Object subclasses (so
everything) contains a toString() method it is no longer a problem to add any object that
has a valid String representation to this set.

It is only strange that the iterator returns Strings and not char[] - why is this so? To fix
this, there is also an accessor to get an Iterator<String> correctly casted.

      was (Author: thetaphi):
    This is the only possibility to make it somehow genericfied. As all Object subclasses
(so everything) contains a toString() method it is no longer a problem to add any object that
has a valid String representation to this set.

It is only strange that the iterator returns Strings and not char[] - why is this so. To fix
this, there is also an accessor to get an Iterator<String> correctly casted.
  
> CharArraySet cannot be made generic, because it violates the Set<char[]> interface
> ----------------------------------------------------------------------------------
>
>                 Key: LUCENE-1989
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1989
>             Project: Lucene - Java
>          Issue Type: Bug
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>             Fix For: 3.0
>
>         Attachments: LUCENE-1989.patch
>
>
> I tried to make CharArraySet using generics (extends AbstractSet<char[]>) but this
is not possible, as it e.g. returns sometimes String instances in the Iterator instead of
[]. Also its addAll method accepts both String and char[]. I think this class is a complete
mis-design and violates almost everything (sorry).
> What to do? Make it Set<?> or just place a big @SuppressWarnings("unchecked">
in front of it?
> Because of this problem also a lot of Set declarations inside StopAnalyzer cannot be
made generic as you never know whats inside.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message