Berkeley CSUA MOTD:Entry 24081
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/05/25 [General] UID:1000 Activity:popular
5/25    

2002/3/11-12 [Computer/SW/Languages/Java] UID:24081 Activity:kinda low
3/11    Java Q:  How to do function pointers in Java?  Specifically, are these
        Perl codes portable to Java?

          $hash =
            { 'var1' => { 'class'    => 'Foo',
                          'fnct_ptr' => 'fooMethod',
                          'args'     => ['a', 1, 'b'] },
              'var2' => { 'class'    => 'Bar',
                          'fnct_ptr' => 'barMethod',
                          'args'     => {'arg1' => 'hello', 'arg2' => 'John'} }
            };
          sub process {
            $type = shift;
            my $class    = $hash->{$type}{'class'};
            my $fnct_ptr = $hash->{$type}{'fnct_ptr'};
            my $args     = $hash->{$type}{'args'};
            return $class->$fnct_ptr($args);
          }

        I know I can do something like
          Class myClass = Class.forname($classname);
        for the class and either pass in a vector or hash for the args.
        However, I have not been able to figure how to do the function pointer
        concept.
        Any suggestions and/or pointers would be greatly appreciated.
        \_ Java explicitly forbids direct function pointers b/c of its security
           policies.  You can kind of do it with interfaces (define interface
           FooInterface with methods foo_1 ... foo_n; then implement the
           interface in FooClass; foo = new FooClass(); and pass foo (the
           object) to whatever needs to run foo (the method).
           \_ Assuming security policies are set to allow it, you can
              do function pointer-like things using the java reflection
              API.
2025/05/25 [General] UID:1000 Activity:popular
5/25    

You may also be interested in these entries...
2013/4/29-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Compilers] UID:54665 Activity:nil
4/29    Why were C and Java designed to require "break;" statements for a
        "case" section to terminate rather than falling-through to the next
        section?  99% of the time poeple want a "case" section to terminate.
        In fact some compilers issue warning if there is no "break;" statement
        in a "case" section.  Why not just design the languages to have
        termination as the default behavior, and provide a "fallthru;"
	...
2013/5/1-18 [Computer/SW/Languages/Java, Computer/Theory] UID:54669 Activity:nil
5/1     What's the difference between CS and Computer Engineering?
        http://holykaw.alltop.com/top-ten-paying-degrees-for-college-graduates
        \_ One is science and the other is engineering.
        \_ From http://en.wikiquote.org/wiki/Computer_science
           'A folkloric quotation ... states that "computer science is no more
           about computers than astronomy is about telescopes."  The design
	...
2013/3/5-26 [Computer/SW/Languages/Java] UID:54618 Activity:nil
3/5     Three emergency Java updates in a month. Why do I have a feeling
        that the third one won't be the last one?
        \_ Bingo!
	...
2012/12/18-2013/1/24 [Computer/SW/Languages/Perl] UID:54561 Activity:nil
12/18   Happy 25th birthday Perl, and FUCK YOU Larry Wall for fucking up
        the computer science formalism that sets back compilers development
        back for at least a decade:
        http://techcrunch.com/2012/12/18/print-happy-25th-birthday-perl
        \_ I tried to learn Perl but was scared away by it.  Maybe scripting
           lanauages have to be like that in order to work well?
	...
2012/12/4-18 [Computer/SW/Languages/Java] UID:54544 Activity:nil
12/4    Holy cow, everyone around me in Silicon Valley is way beyond
        middle class according to Chinni's definition:
        http://en.wikipedia.org/wiki/American_middle_class
        \_ Let's set our goals higher:
           http://en.wikipedia.org/wiki/Upper_middle_class_in_the_United_States
           \_ How about this one?
	...
2012/10/29-12/4 [Science/Disaster, Computer/SW/Languages/Java, Politics/Domestic/President/Bush] UID:54516 Activity:nil
10/29   Go Away Sandy.
        \_ Sorry, Coursera is performing preventive maintenance for this
           class site ahead of Hurricane Sandy. Please check back in 15 minutes.
           class site ahead of Hurricane Sandy. Please check back in 15
           minutes.
        \_ Bitch.
	...