в Java это имя метода строка? - PullRequest
0 голосов
/ 11 марта 2010

в java это имя метода строка? Почему или почему нет?

так что если у меня есть что-то вроде:

public static int METHODNAME (some parameters or not) 
{
something to do ;
}

METHODNAME - это строка?

Ответы [ 3 ]

6 голосов
/ 11 марта 2010

Нет, это символ. Однако через отражение вы можете искать метод, используя строковую версию его имени, если это полезно.

3 голосов
/ 11 марта 2010

Если вы спрашиваете, можете ли вы сделать: «methodName» () или $ command () и заставить его выполнить метод, названный так, как вы можете в PhP. Ответ - нет.

Если вы спрашиваете, хранится ли где-нибудь имя метода в виде строки, ответ будет положительным. Вы можете получить к нему доступ, используя отражение. Например:

Method[] methods = Double.class.getMethods();
for(Method m : methods) {
    System.out.println("Method: "+m.getName());
}

В отношении вашего редактирования. Нет, это не строка в этом контексте.

1 голос
/ 11 марта 2010

Ты мог бы сделать это, Дэвид:

import java.lang.reflect.*;

Class C = Class.forName("yourClass");
Method methods[] = C.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) 
{  
               Method m = methlist[i];
               System.out.println(m.getName());
}

И в конце концов, если METHODNAME было бы в вашем классе, он вывел бы «METHODNAME» в виде строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...