⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.jpl

📁 UNIX下perl实现代码
💻 JPL
字号:
import java.util.*; public class Test {     int myint = 123;    double mydouble = 3.14159265;    String mystring = "my string";    static String ourstring = "our string";    static boolean embedded = false;    int array[] = {1,2,3};    Vector v;    public Test() { 	v = new Vector();	v.addElement("Hello");	printfields();	Vector x = perlTryVec(v);	x.addElement("World");	Vector y = perlTryVec(x);	if (!embedded) System.err.println("Thank you, perlTryVec!");	if (!embedded) System.err.println(retchars());	if (!embedded) System.err.println("Thank you, retchars!");	String[] s = retstrings();	if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);	if (!embedded) System.err.println("Thank you, retstrings!");	Object[] o = retobjects(v, x, y);	if (!embedded) System.err.println(o[1]);	if (!embedded) System.err.println(o[3]);	if (!embedded) System.err.println(o[4]);	if (!embedded) System.err.println("Thank you, retobjects!");	passarray(s);	if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);	if (!embedded) System.err.println("Thank you, passarray!");	printfields();	if (!embedded) System.err.println("Thank you, printfields!");	setfields();	if (!embedded) System.err.println("Thank you, setfields!");	printfields();	if (!embedded) System.err.println("Thank you, printfields!");    }     perl Vector perlTryVec(Vector v) throws RuntimeException {{	print "v is: $v\n";	print "v isa: ", ref $v,"\n";	print "In perlTryVec() - Vector size is: ", $v->size([],['int']), "\n";	@foo = times;	$size ||= getmeth('size', [], ['int']);	for ($i = 10000; $i; --$i) {	    $x = $v->$size();	}	@bar = times;	printf "%5.2fu %5.2fs\n", $bar[0] - $foo[0], $bar[1] - $foo[1];	return $v;    }}    perl char[] retchars() {{	print "In retchars()\n";	return [65,66,67];    }}    perl String[] retstrings() {{	print "In retstrings()\n";	return [1,2,3,"many"];    }}     perl Object[] retobjects(Vector v, Vector x, Vector y) {{	print "In retstrings()\n";	return [$v, $x, $y, "this is only a test", 123];    }}    perl void passarray(String[] s) {{	print "In passarray()\n";	print "s = $s\n";	$t = GetObjectArrayElement($s,3);	print "t = $t\n";	$x = GetStringUTFChars($t);	print "$x\n";	$t = SetObjectArrayElement($s,3,NewStringUTF("infinity"));    }}     perl void printfields() {{	$| = 1;	eval {print $self->v->toString____s(), "\n";};	print $@ if $@;	print $self->myint, "\n";	print $self->mydouble, "\n";	print $self->mystring, "\n";	print JPL::Test->ourstring, "\n";	@nums = GetIntArrayElements($self->array());	print "@nums\n";	@nums = unpack("i*", scalar GetIntArrayElements($self->array()));	print "@nums\n";    }}    perl void setfields() {{	$self->myint(321);	$self->mydouble(2.7182918);	$self->mystring("MY STRING!!!");	JPL::Test->ourstring("OUR STRING!!!");    }}    public static void main(String[] argv) {	if (java.lang.reflect.Array.getLength(argv) > 0 &&	  argv[0].equals("-nothanks"))	    embedded = true;	Test f = new Test();	if (!embedded) System.err.println("Thank you, Test!");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -