Re: what am i doing wrong here?
- From: Wibble <Wibble@xxxxxxxxxxxxxx>
- Date: Sat, 04 Jun 2005 13:11:27 -0400
Jeremy Watts wrote:
"Wibble" <Wibble@xxxxxxxxxxxxxx> wrote in message news:XaKdnXKDMdRhTTzfRVn-uQ@xxxxxxxxxx
Jeremy Watts wrote:
"Andrew McDonagh" <news@xxxxxxxxxxxxxxxxxxxxx> wrote in message news:d7rte8$cda$1@xxxxxxxxxxxxxxxxxxxxxxxx
Jeremy Watts wrote:
Hi,
I've written a Java method that uses a list to return 5 three-dimensional arrays containing 'Big Decimal' entries. However I also want to return a single boolean type variable, but cant seem to get the program to do this.
My method basically goes :-
start method {
declare arrays and variables List result = new ArrayList(5) .. .. .. .. REST OF METHOD .. .. .. result.add(first array) result.add(second array) etc result.add(fifth array)
return (result)
end method }
This works fine for just the arrays, but if I attempt to add the line
'result.add(LDMexists)' , to return the boolean variable 'LDMexists' then I get the error message ' cannot resolve symbol - method add(boolean)'
I have declared the boolean type LDMexists, so I cant see what I'm doing wrong here - how do I get it to return the five arrays and the boolean variable LDMexists?
Thanks
the ArrayList only allows Object references to be added, where as 'boolean' (Note the lowercase B) is a primitive not an object.
you can change the code to...
result.add(Boolean.valueOf(LDMexists));
This adds a reference to the Boolean object (note the uppercase B) to the arraylist.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Boolean.html#valueOf(boolean)
HTH
Andrew
Hi Andrew,
Thanks for that, that seems to work. How would you then reference that variable though once the procedure has been called? I cant seem to get that bit to work now.
Thanks Jeremy
I think that you're probably abusing ArrayList as a typeless container.
Among other things, it forces you to typecast values when you access them, know the positional types or infer them, and package a primitive as an object Boolean.
A better approach would be to create class to contain the returned object and use appropriate names and types for each member. It will actually run faster too since ArrayList has to do a bunch of stuff to support it being a growable, general purpose container.
how do you do that though?? sorry i'm a newbie still. the list thing that andrew mentioned has worked, its just i now dont know how to access the boolean variable once i've returned it.
public class MyClass {
public static class MyResult {
final int intArray[];
final char charArray[];
final boolean boolVal;
public MyResult(int i[], char c[], boolean b) {
intArray = i; charArray = c; boolVal = b;
}
}
public MyResult myMethod() {
int array1[] = new int[] { 1 , 2, 3 };
char array2[] = "foo".toCharArray();
boolean someBool = true;
return(new MyResult(array1, array2, someBool));
}
}
.- References:
- what am i doing wrong here?
- From: Jeremy Watts
- Re: what am i doing wrong here?
- From: Andrew McDonagh
- Re: what am i doing wrong here?
- From: Jeremy Watts
- Re: what am i doing wrong here?
- From: Wibble
- Re: what am i doing wrong here?
- From: Jeremy Watts
- what am i doing wrong here?
- Prev by Date: Re: Browser plug-in to interact with browser
- Next by Date: Re: URLConnection "memory leak"
- Previous by thread: Re: what am i doing wrong here?
- Next by thread: Re: what am i doing wrong here?
- Index(es):
Relevant Pages
|