리플렉션을 사용하여 동적 IF 문을 작성할 수 있습니까?동적 IF 문 작성 방법은 무엇입니까? 반사?
BeanShell (예 : Dynamic if statement evaluation problem with string comparison)을 사용하여 예제를 보았지만 BeanShell 없이도 할 수 있는지 알고 싶습니다. 또한 필자의 요구에 맞게 몇 가지 예를 지적하고 싶습니다.
기본적 난 형태의 성명이하십시오 운영자 B.
A 및 B 번호 (복식 또는 INT)로 또는 문자열이 될 수 있지만, 항상 A는 B. 오퍼레이터 수있는 바와 같은 유형이다! >, =, ==,> =,>, < =, <, 심지어 다른 행위는 자신의 클래스를 통해 정의 될 수 있습니다. 왜 내가 반사를 사용하는지 다른 이유는 문자열을 가져 와서 리플렉션을 사용하여 적절한 방법.
유사 콘텐츠가 너무 많아서 사용자 생성 입력에 따라 지속적으로 변경되기 때문에 "if"및 "switch"분기를 피하기 위해 (꼭)해야합니다.
당신이public interface MyComparator
{
public boolean matches(String operator);
public boolean compare(String a, String b);
}
같은 인터페이스 그럼 당신은 당신이 모든
public class MyEquals implements MyComparator
{
@Override
public boolean matches(String operator)
{
return "==".equals(operator);
}
@Override
public boolean compare(String a, String b)
{
return a.equals(b);
}
}
같은 인터페이스를 구현하려는 얼마나 많은 클래스를 만들 수 있도록이 같은를로드 할 수
가 왜이 작업을 수행 할 수 있습니까? 왜 전략 디자인 패턴을 사용하지 않습니까? – Raedwald
IF를 동적으로 생성하는 것은 당신이하는 일과 함께 할 수있는 방법이 아닙니다. – Steve
저는 문자 그대로 사용자 정의 스크립트 언어에서 조건을 읽고 있습니다. 형식은 functionA 연산자 functionB입니다. 사업자는 현재 제한적이지만 성장할 수 있습니다. 나는 문자열을 읽고 어떻게 든 표현을 평가할 수 있기를 원합니다. – rciafardone