use Test::Simple tests => 14; use Java::Import qw( java.lang.Class ); #call a method that returns a Java Array and check it out my $sb_class = java::lang::Class->forName(jstring("java.lang.StringBuffer")); my $constructors = $sb_class->getConstructors(); ok(scalar(@$constructors) == 3); #look at each element in the array and make sure it is what we think it is foreach my $constructor ( @$constructors ) { if ( $constructor->isa('java::lang::reflect::Constructor') ) { ok(1); } } #access the array via regular array syntax for ( my $i = 0; $i < scalar(@$constructors); $i++ ) { my $constructor = $$constructors[$i]; if ( $constructor->isa('java::lang::reflect::Constructor') ) { ok(1); } } #create a Java Array my $array = Java::Import::newJavaArray('java.lang.String', 3); ok($array); #populate the array for ( my $i = 0; $i < scalar(@$array); $i++ ) { $$array[$i] = jstring("$i"); ok(1); } #access it again to make sure we can get what we put in there, and they are in the right place for ( my $i = 0; $i < scalar(@$array); $i++ ) { my $test = $$array[$i]; if ( "$test" == "$i" ) { ok(1); } }