Re: what am i doing wrong here?



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));
  }
}
.



Relevant Pages

  • Re: what am i doing wrong here?
    ... 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. ... 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? ... This adds a reference to the Boolean object to the arraylist. ...
    (comp.lang.java.programmer)
  • Re: working with byte arrays
    ... faster than my current solution because the whole comparisson is done inside ... Thanks for the hint to check the size of the arrays, ... BAs Byte) As Boolean ... > same lower bound, then these can be simplified to these... ...
    (microsoft.public.vb.general.discussion)
  • Re: what am i doing wrong here?
    ... 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. ... 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? ...
    (comp.lang.java.programmer)
  • Re: what am i doing wrong here?
    ... 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. ... 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? ...
    (comp.lang.java.programmer)
  • Re: what am i doing wrong here?
    ... 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. ... 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? ...
    (comp.lang.java.programmer)