두 개의 문자열이 있는데, 각각은 비어 있거나 StringUtils 정의에 따라 비어있을 수 있습니다. 대시, 쉼표 등과 같은 간단한 문자를 사이에두고 연결된 방식으로 표시해야합니다.
예를 들어, 사람의 이름은 LastName과 FirstName으로 구성됩니다. PrintName 메서드는 다음과 같은 방식으로 인쇄되어야합니다.
사례 A : 둘 다 비어 있지 않음
인쇄 LastName + ", " FirstName
case b : FirstName이 비어 있습니다.
인쇄 LastName
case c : LastName이 비어 있습니다.
인쇄 FirstName
경우 d : 둘 다 비어 있음
인쇄 empty string
이것은 단순한 연습 일 뿐이지 만 최소한의 변수 / 메모리 할당, 더 적은 코드 줄 등을 요구하는 Java에서 가장 효율적인 방법이 있는지 궁금합니다. 효율성에 대한 정의는 약간 모호합니다. 더 효율적이라고 생각하는 이유를 적을 수 있다면 좋을 것입니다.
두 개의 문자열이고 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] 삭제
몇 마디 만하겠습니다