2012-02-04 2 views
3

내 컨트롤의 값에 하나의 값만있는 경우 다음 코드는 문자열을 반환하고 둘 이상의 값이 있으면 코드가 java.util.Vector를 반환합니다.항상 java.util.Vector를 반환하는 방법

getComponent ("mycontrol"). getValue();

이 코드가 하나의 값만있는 경우에도 벡터를 반환하려고합니다.

내 문자열을 배열로 변환하는 코드 스 니펫이 몇 개 있지만 벡터를 다시 가져 오려고합니다.

답변

6

특이한 값을 강제로 java.util.vector (또는 해당 문제의 Array)로 반환하는 방법은 없습니다. 유일한 방법은 벡터인지 테스트 한 다음 벡터가 아닌 경우 벡터를 작성하는 것입니다. 당신은 함수에 배치하고, 예를 들면 ... 그에 전화를 래핑 수 있습니다 (이것은 당신이 등을 구문을 확인해야합니다 있도록 테스트되지 않은 코드) :

asVector(getComponent("mycontrol").getValue()); 

function asVector(obj) { 
    if (obj.constructor === java.util.Vector) { 
    return obj; 
    } else { 
    var x:java.util.Vector = new java.util.Vector(); 
    x.add(obj); 
    return x; 
    } 
} 
+1

감사 제레미 꽤 잘 작동하지만, 이것은 더 잘 작동했습니다. 제가 '기능 asVector (OBJ) { \t 경우 (대해서 typeof OBJ === "java.util.Vector에") { \t \t 복귀 OBJ 대해서 typeof를 위해 obj.contructor 변경; \t} else { \t \t var x : java.util.Vector = new java.util.Vector(); \t \t x.add (obj); \t \t return x; \t} } 잘 모르겠습니다.이 댓글이 마음에 들지만 멋지게 형식을 지정하지 않습니다. –

관련 문제