Android의 문자열 판단 조건에 대한 일반적인 쓰기

1525 단어 android 기초 지식
개발 과정에서 문자열이 비어 있는지,null인지, 0인지 판단하는 경우가 많습니다. 판단 조건을 많이 쓰는 사람도 있고, 잘못된 판단 방법을 쓰는 사람도 있습니다.다음은 문자열을 어떻게 쓰는지 판단하는 조건과 흔히 볼 수 있는 오류를 총결해 보겠습니다.
1. 두 문자열의 내용이 같은지 판단
String s1 = "1234";
String s2 = new String("1234");

만약 (s1==s2) 이런 방식은 두 문자열의 메모리 주소가 같은지만 판단할 수 있고, 두 문자열의 내용이 같은지 판단할 수 없다
정확한 방식은 equals() 방법:s1.equals(s2)
2. NULL 또는 빈 문자열로 판단
백엔드에서 되돌아오는 데이터 분석 후null이나 빈 문자열일 수도 있으니 판단이 필요합니다.
백그라운드에서 상품 수량을 goodsNum으로 되돌려 NULL 여부를 판단하려면 API에서 제공하는 도구류 방법인 TextUtils를 사용하십시오.isEmpty(goodsNum), 이 방법은 goodsNum이 빈 문자열이거나null일 때ture를 되돌려줍니다. 이 방법의 원본 코드는 다음과 같습니다.
public static boolean isEmpty(@Nullable CharSequence str) {
        return str == null || str.length() == 0;
    }

이 방법은 문자열이 널과 빈 문자열인지 아닌지에 대한 판단을 봉인합니다. goodsNum.isEmpty() 메서드는 빈 문자만 판단할 수 있습니다.
3. 혼합판단의 정확한 쓰기
위의 상품 수량 goodsNum이 Null, 빈 문자열 또는 0으로 판단되면 아래의 방식에 따라 쓸 수 있다
if (TextUtils.isEmpty(goodsNum) || "0".equals(goodsNum)){}

다음은 잘못된 쓰기 방법입니다. goodsNum이null이면 빈 바늘 이상을 직접 보고합니다. equals () 방법에서null의 판단을 하지 않았고, TextUtils가 뒤에 놓여 있으면.isEmpty()는 ture 쌍 논리 연산자||||"로 오른쪽을 검사하지 않습니다.
if ("0".equals(goodsNum) || TextUtils.isEmpty(goodsNum)) {}

확장 지식 논리 연산자 & (또는) 및 || (과)의 규칙
&&: 왼쪽이false라면 오른쪽을 검출하지 않고 바로false로 돌아갑니다.만약 왼쪽이ture라면, 오른쪽을 검출하고, 되돌아오는 결과는 오른쪽을 기준으로 한다
||: 왼쪽이ture라면 오른쪽을 감지하지 않고 바로ture로 돌아갑니다.만약 왼쪽이false라면, 오른쪽을 검출하고, 되돌아오는 결과는 오른쪽을 기준으로 한다

좋은 웹페이지 즐겨찾기