2010-03-11 3 views
-3

java에서 문자열의 메서드 이름은 무엇입니까? 그 이유는 무엇? 내가 좋아하는 뭔가가있는 경우은 문자열의 메서드 이름입니까?

너무 :

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

는 methodName로는 문자열입니다?

+0

조금 더 자세히 설명 할 수 있습니다. –

+2

나는 "문자열로 메모리에 저장된 이름"이라는 것을 의미합니다. – Bob

+0

왜 이것이 나쁜 질문입니까? – David

답변

6

아니요, 상징입니다. 그러나 reflection을 통해 메소드가 유용 할 경우 이름의 문자열 버전을 사용하여 그 메소드를 검색 할 수 있습니다.

+0

"상징"- 증명 링크를 줄 수 있습니까? – Roman

3

"methodName"() 또는 $ command()를 수행 할 수 있는지 묻는다면 PhP에서 할 수있는 것처럼 메소드를 실행하십시오. 내 대답은 아니오 야.

메소드 이름이 어딘가에 String으로 저장되는지 여부를 묻는다면 대답은 yes입니다. 리플렉션을 사용하여 액세스 할 수 있습니다. 예 :

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

편집 내용을 참조하십시오. 그 문맥에서는 String이 아닙니다.

1

당신이 할 수있는, 다윗은 : methodName로는 yourClass에 있다면

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로"를 출력한다.

관련 문제