Java에서 null 또는 비어 있는지 확인하여 연결된 문자열을 반환하는 가장 좋은 방법은 무엇입니까?

폴리 버그

두 개의 문자열이 있는데, 각각은 비어 있거나 StringUtils 정의에 따라 비어있을 수 있습니다. 대시, 쉼표 등과 같은 간단한 문자를 사이에두고 연결된 방식으로 표시해야합니다.

예를 들어, 사람의 이름은 LastName과 FirstName으로 구성됩니다. PrintName 메서드는 다음과 같은 방식으로 인쇄되어야합니다.

사례 A : 둘 다 비어 있지 않음

인쇄 LastName + ", " FirstName

case b : FirstName이 비어 있습니다.

인쇄 LastName

case c : LastName이 비어 있습니다.

인쇄 FirstName

경우 d : 둘 다 비어 있음

인쇄 empty string

이것은 단순한 연습 일 뿐이지 만 최소한의 변수 / 메모리 할당, 더 적은 코드 줄 등을 요구하는 Java에서 가장 효율적인 방법이 있는지 궁금합니다. 효율성에 대한 정의는 약간 모호합니다. 더 효율적이라고 생각하는 이유를 적을 수 있다면 좋을 것입니다.

RealSkeptic

두 개의 문자열이고 null이 아니라 비어 있으면 함께 갈 것입니다.

System.out.println(
    lastName
    + (( firstName.length() > 0 && lastName.length() > 0 ) ? ", " : "")
    + firstName
);

설명 : 중간 표현식은 두 문자열이 모두 비어 있지 않은 경우에만 ","입니다.

다른 모든 경우에는 중간 부분과 하나 또는 둘 다 비어 있습니다. 따라서 전체 면만 인쇄됩니다.

StringUtils의 정의를 따르려면 코드는 다음과 같습니다.

System.out.println(
    StringUtils.stripToEmpty(lastName)
    + (( StringUtils.isNotBlank(firstName) && StringUtils.isNotBlank(lastName) ) ? ", " : "")
    + StringUtils.stripToEmpty(firstName)
);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관