aspose file tools*
The moose likes Java in General and the fly likes Brick House Java Bean Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Brick House Java Bean Question" Watch "Brick House Java Bean Question" New topic
Author

Brick House Java Bean Question

Dale Seng
Ranch Hand

Joined: Mar 22, 2004
Posts: 275
The (unexpected) output is:

Here's the code, which can speak for itself, I think.


I think I see that because "this.chest = chest;" is really "this.chest = new String(chest);", it means that my reference that's in the array is pointing to an old copy. Fine. Weird, but fine. Now, how does one deal with it? I thought of:



But that's not very nice now, is it?

This is one of those "there must be a better way" things (without removing the key concept here: the array of attributes). They all might not be String objects, by the way.

--Dale--
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24166
    
  30

Originally posted by Dale Seng:

But that's not very nice now, is it?


I'm not sure why you think this is "not nice"; there are two ways to fix your code, and this is one of the two. It's actually the less preferable one, but I could live with it if you had special requirements.

The other one is to get rid of the arrays and loops and lists of names and such drek, and just have



The version with the arrays and loops is just plain nasty: hard to understand and hard to change. An awful lot of mess and overhead to introduce just to (presumably) avoid a bit of work in updating the "toString()" method if attributes are added.


[Jess in Action][AskingGoodQuestions]
Joel McNary
Bartender

Joined: Aug 20, 2001
Posts: 1815
Actaully, that way is just fine. That's the point of encapsulation -- it deosn't matter *how* it is implemented, the exposed methods (the getters and setters) will work. The inner workings is just a black box.


Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
Dale Seng
Ranch Hand

Joined: Mar 22, 2004
Posts: 275
Gentlemen: Thank you.

The reason I said it was "not nice" was because Eclipse wouldn't write it for me ;-)

Getting rid of the attributes array isn't really an option because I've got bunches and bunches of attributes that I need to get via EL, so they need a "named getter".

But I wanted to slam data into this, and other beans that extend the same abstract class, by using something along the lines of "attributes[i] = resultSetItem.getObject(i)".

It works the way I have it; I guess it's nice enough.

Thanks again.

--Dale--
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Brick House Java Bean Question
 
Similar Threads
Chapter 5 Head First Java - problem with SimpleDotCom Gamehelper SimpleDotComGame
Confused about setting PATHS in Windows 7
Strange system.out
Games in java
how to compare the values in arrays