MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Accessing static members with J/Link

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110973] Accessing static members with J/Link
  • From: John_V <jvillar.john at gmail.com>
  • Date: Thu, 15 Jul 2010 03:09:53 -0400 (EDT)

I'm trying to learn how to use J/Link, and I have run into an elementary 
(I hope) problem when I try to access static methods and fields. For 
example, the Java Math class has static fields for E and PI and a number 
of static methods, abs() among them. Here's what happens when I try to 
use them:

My inputs:

    Needs["JLink`"]
    InstallJava[]
    myMathClass = LoadJavaClass["java.lang.Math"]
    Fields[myMathClass]
    pi = myMathClass`PI
    myMathClass`abs[-5]

/Mathematica/'s outputs:

    Out[2]= LinkObject[...]

    Out[3]= JavaClass[java.lang.Math, <> ]

    Out[4]//TableForm=
         static final double E
         static final double PI

    Out[5]= myMathClass`PI

    Out[6]= myMathClass`abs[-5]

I believe the fact that Out[4] correctly lists java.lang.Math's static 
fields means LoadJavaClass worked, but I expected Out[5] = 3.1415... and 
Out[6] = 5. I thought this was a near verbatim transcription of the 
examples in the "Calling Methods and Accessing Fields" part of the 
J/Link user guide. What am I doing wrong?

Thanks,

John


  • Prev by Date: Re: Mathematica link to a c++ lib
  • Next by Date: Re: Simplest way to get 2 digits from an integer...
  • Previous by thread: Re: Select only certain sublists matching criteria
  • Next by thread: Re: Accessing static members with J/Link