2017-09-28 1 views
-4

JSONarray를 구문 분석하기 위해 루프를 사용하고 있습니다.값을 사용하여 안드로이드에서 try 블록을 사용하십시오.

가정하자, 나는 1000 반복을 가지고 있고 각각은 5 개 검사를 포함

try { 
      val = e.getString("x"); 
      if (!val.equals("null")) //server response, when no data 
      tmp.x = Double.valueOf(val); 
      else 
      tmp.x = 0; 
     } catch (Exception e1) { 
      tmp.x = 0; 
     } 

여기에 질문이 값 검사가 더 잘 만드는 것입니다, 그래서 시간 캐치의 대부분은 (예를 들어 ==null, isEmpty(), 호출되지 않습니다 , etc ...) try-catch 또는 그 벌금을 지금 제거 하시겠습니까?

+0

반복 횟수가 많은 루프를 수행하지 않는 것이 좋습니다. 한 번로드하고 한 번에 구문 분석하면 훨씬 더 좋습니다. – Orvenito

+0

나는 1000 개의 poins를 가지고 있고 loop 밖에서 하나의 try-catch를 사용하면 - 한 포인트가 파싱에 실패하면 모든리스트는 비게된다. – Vadim

+0

아니요, 구문 분석해야하는 포인트를 알기 위해 하나의 식별자 만 있으면됩니다. 예 : 양수 값,> 50 점 등. – Orvenito

답변

1

그렇다면 가치 체크를 더 좋게 (예 : == null, isEmpty() 등)하고 try-catch 또는 그 벌금을 제거 하시겠습니까? 당신은 당신이 서버에서 얻는 결과가 널 또는 널이 아니라고 주장 할 수있는 경우

는, 당신은 그 검증 후 시도-catch 블록를 사용할 수 있습니다.

그러나 here으로 볼 수 있듯이 전반적인 성능에 큰 영향을 미칩니다.

관련 문제