On Jan 7, 2011, at 8:06 PM, Michael Eugene Artz wrote:
It's a casting error but it doesn't make any sense to me why I
would be getting that.
userProfiles is a java.util.Set. The method Set.add() returns boolean
(true means the add() succeeded, false means the object was already in
the set.) So here you're mapping Integer to Boolean.
profiles.put(new Integer(1), userProfiles.add(new Profile(1,
"Mike", "Artz")));
profiles.put(new Integer(2), userProfiles.add(new Profile(2,
"Suzy", "Kolber")));
profiles.put(new Integer(3), userProfiles.add(new Profile(3,
"Stan", "Mikita")));
profiles.put(new Integer(4), userProfiles.add(new Profile(4,
"Nikita", "Kruschev")));
Here you're assuming that the values in profiles are Profile objects,
but as we said, they're Booleans.
public Profile getProfile(int profileNumber)
{
//return new Profile(1, "Mike", "Artz");
return (Profile)profiles.get(new Integer(profileNumber));
}
Which is what the error says: the values are Booleans, not Profiles.
The trace tells you exactly what line causes the errors, so a
println() or two would have easily told you the whole story.
java.lang.ClassCastException: java.lang.Boolean cannot be cast to
Profile
at DemoDatabase.getProfile(DemoDatabase.java:49)
at Demo.processRole(Demo.java:31)
at Demo.main(Demo.java:13)
I wonder if I could this all much simpler and Im just wasting my
time completely:(
When I assemble a large program like this, I start with a small
program that does one little thing, and I test it. I then add a little
more, and test that, and so on. At each step, I make sure all the new
code does what it's supposed to do. I keep all the test code so it can
be run at any time to verify that the program still works. That way,
you never find yourself looking at a big pile of code and wondering
where the problem is: the problem is always just in that last little
bit you just coded.
Good luck!
---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012 [email protected]
Livermore, CA 94550 http://www.jessrules.com
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify [email protected].
--------------------------------------------------------------------