Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36765
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Eclipse |
| Date | 2017-06-29 09:47 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <oj306u$gq0$1@dont-email.me> (permalink) |
| References | <8b4bfc08-ccdb-40bf-a4f6-875d0cd9a058@googlegroups.com> <f4c93896-75b3-472d-9564-ee5f93839fcb@googlegroups.com> <5314f277-558b-43d1-8564-460ab8dab26a@googlegroups.com> <1b033cbe-4bc2-497f-9c93-e6e90b75f39b@googlegroups.com> |
On 6/29/2017 9:05 AM, Eric Douglas wrote:
> On Wednesday, June 28, 2017 at 3:07:29 PM UTC-4, Eric Douglas wrote:
>> So I got this first warning on a .contains() of an ArrayList<> defined to hold objects implementing my custom interface, checking an instance of Component. This is valid code, and it's only suggestions are to add a @SuppressWarnings, or configure warning severity.
>
> Is there a proper way to make this message go away, or do I just add @SuppressWarnings or change this "error" to completely ignore?
> I have some different types of JComponent classes which implement MyCustomInterface, and some JComponent which do not implement.
> I have a class level variable defined as ArrayList<MyCustomInterface>.
> I have a method parameter passing in a Component.
> My ArrayList variable calls .contains() to check against that component.
> It wants to warn me this is unlikely. It's very likely.
To recapitulate:
- You have an ArrayList that is supposed to contain objects that
implement MyCustomInterface.
- You have an object that is known to be a Component.
- There are lots and lots and lots of Component classes that do
not implement MyCustomInterface.
- Therefore, it is at the very least "suspicious" that a list of
MyCustomInterface instances is being examined for the presence of
something that (for all Java knows) needn't implement MyCustomInterface.
It certainly doesn't strike me as an "error" to check for the
presence of something that isn't there, or even of something that
might turn out to be there under a different guise (a Component
that does, in fact, implement MyCustomInterface). Nonetheless, it
does seem "suspicious," just as it would be "suspicious" to look
for a raw Component in a List<JButton>. Not as suspicious as looking
for a JButton in a List<String>, but certainly odd.
You've shown no code so I can't make a solid recommendation,
but here are a few things you might consider:
- Use an ArrayList<Component>
- if (comp instanceof MyCustomInterface
&& list.contains((MyCustomInterface) comp))
- @SuppressWarnings plus a lengthy comment
I would *not* recommend defeating the warning altogether, as
that would apply to a much wider scope. If something you're cooking
sets off the smoke detector, it would be ill-advised to respond by
taking the batteries out of all detectors everywhere ...
--
esosman@comcast-dot-net.invalid
Thirteen hundred one days to go.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-28 07:57 -0700
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-28 09:04 -0700
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-28 12:07 -0700
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-29 06:05 -0700
Re: Eclipse Jerry Stuckle <jstucklex@attglobal.net> - 2017-06-29 09:32 -0400
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-29 06:42 -0700
Re: Eclipse Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-06-29 09:47 -0400
Re: Eclipse Andreas Leitgeb <avl@logic.at> - 2017-06-30 14:47 +0000
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-30 08:22 -0700
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-07-07 06:19 -0700
Re: Eclipse Andreas Leitgeb <avl@logic.at> - 2017-07-13 09:29 +0000
Re: Eclipse Martin Gregorie <martin@address-in-sig.invalid> - 2017-06-29 17:18 +0000
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-29 11:08 -0700
Re: Eclipse Martin Gregorie <martin@address-in-sig.invalid> - 2017-06-29 18:58 +0000
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-29 12:55 -0700
Re: Eclipse Martin Gregorie <martin@address-in-sig.invalid> - 2017-06-29 21:31 +0000
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-30 04:55 -0700
Re: Eclipse Martin Gregorie <martin@address-in-sig.invalid> - 2017-06-30 13:02 +0000
Re: Eclipse Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-06-29 16:34 -0400
Re: Eclipse Eric Douglas <e.d.programmer@gmail.com> - 2017-06-29 13:49 -0700
Re: Eclipse Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-06-29 18:16 -0400
Re: Eclipse Arne Vajhøj <arne@vajhoej.dk> - 2017-07-02 11:56 -0400
csiph-web