daplus.net
Open in
urlscan Pro
121.78.88.131
Public Scan
URL:
http://daplus.net/
Submission: On March 11 via manual from KR — Scanned from DE
Submission: On March 11 via manual from KR — Scanned from DE
Form analysis
1 forms found in the DOMGET http://daplus.net
<form action="http://daplus.net" method="get"><label class="screen-reader-text" for="cat">카테고리</label><select name="cat" id="cat" class="postform">
<option value="-1">카테고리 선택하기</option>
<option class="level-0" value="10">Android</option>
<option class="level-0" value="15">Apple</option>
<option class="level-0" value="8">C#</option>
<option class="level-0" value="11">C++</option>
<option class="level-0" value="12">Git</option>
<option class="level-0" value="9">Html</option>
<option class="level-0" value="6">JAVA</option>
<option class="level-0" value="3">JAVASCRIPT</option>
<option class="level-0" value="13">Linux&Unix</option>
<option class="level-0" value="16">Program</option>
<option class="level-0" value="7">PYTHON</option>
<option class="level-0" value="14">Server</option>
<option class="level-0" value="1">쇼핑</option>
</select>
</form>
Text Content
콘텐츠로 건너뛰기 리뷰나라 메인 메뉴 * JAVASCRIPT * JAVA * PYTHON * C# * Android * Html [KOTLIN] 무엇입니까? : KOTLIN에서 수행합니까? (엘비스 오퍼레이터) Program / 글쓴이 어드민 ?:예를 들어이 경우에서 무엇을하는지 알 수 없습니다. val list = mutableList ?: mutableListOf() 왜 이것을 수정할 수 있습니까? val list = if (mutableList != null) mutableList else mutableListOf() -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 답변 TL; DR : 결과 개체 참조 [첫 번째 피연산자]가 아닌 null경우 반환됩니다. 그렇지 않으면 두 번째 피연산자의 값 (일 수 있음 null)이 반환됩니다. -------------------------------------------------------------------------------- 엘비스 운영자는 많은 프로그래밍 언어, 예를 들어 코 틀린뿐만 아니라 그루비 또는 C #의 일부입니다. 나는 찾을 위키 백과의 정의는 매우 정확한 : > 특정 컴퓨터 프로그래밍 언어에서 Elvis 연산자 ?: 는 피연산자가 인 경우 첫 번째 피연산자를 반환 하고 그렇지 않으면 두 번째 > 피연산자를 평가하여 반환 하는 이항 연산자 입니다 true. 이는 해당 언어 (및 기타 여러 언어)에서 발견 되는 삼항 조건 연산자 , 의 > 변형입니다? : . Elvis 연산자는 두 번째 피연산자가 생략 된 삼항 연산자입니다 . 특히 Kotlin의 경우 다음 사항이 적용됩니다. > 일부 컴퓨터 프로그래밍 언어는이 연산자에 대해 다른 의미를 가지고 있습니다. 첫 번째 피연산자가 부울을 생성해야하는 대신 객체 참조가 > 생성되어야합니다 . 결과 객체 참조가가 아닌 null경우 반환됩니다. 그렇지 않으면 두 번째 피연산자의 값 (일 수 있음 null)이 > 반환됩니다. 예 : x ?: y // yields `x` if `x` is not null, `y` otherwise. -------------------------------------------------------------------------------- 답변 엘비스 운영자는 다음에 콜론 물음표로 표시됩니다 : ?:그것은이 구문을 사용할 수 있습니다 : first operand ?: second operand 간결한 코드를 작성할 수 있으며 다음과 같이 작동합니다. 경우 first operand null가 아닌 , 다음이 반환됩니다. 이 경우 null 인 경우 , 다음이 second operand반환됩니다. 제공된 값이 null 인 경우 nullable이 아닌 값을 제공하므로식이 null 값을 반환하지 않도록 보장하는 데 사용할 수 있습니다. -------------------------------------------------------------------------------- 예 (Kotlin에서) : fun retrieveString(): String { //Notice that this type isn't nullable val nullableVariable: String? = getPotentialNull() //This variable may be null return nullableVariable ?: "Secondary Not-Null String" } 이 경우 계산 된 값이 getPotentialNullnull이 아니면 retrieveString; 널이면 두 번째 표현식 "Secondary Not-Null String"이 대신 리턴됩니다. 또한 오른쪽 표현식은 왼쪽이 null 인 경우 에만 평가 됩니다 . 코 틀린, 당신은 같은 표현을 사용할 수 second operand등으로, throw Exception표현 return nullVariable ?: throw IllegalResponseException("My inner function returned null! Oh no!") -------------------------------------------------------------------------------- Elvis Operator라는 이름은 유명한 미국 가수 Elvis Presley 에서 유래했습니다 . 그의 헤어 스타일은 물음표와 비슷합니다. 출처 : Wojda, I. Moskala, M. Android Development with Kotlin. 2017. Packt 출판 -------------------------------------------------------------------------------- 답변 이것은 Elvis 연산자 라고 불리며 그것은 … 정확히 당신이 질문에서 설명한 것과 같습니다. 왼쪽이 null값이면 대신 오른쪽을 반환합니다. 그렇지 않으면 왼쪽에있는 값을 반환합니다. a ?: b의 약어입니다 if (a != null) a else b. 유형이있는 더 많은 예 : val x: String? = "foo" val y: String = x ?: "bar" // "foo", because x was non-null val a: String? = null val b: String = a ?: "bar" // "bar", because a was null -------------------------------------------------------------------------------- 답변 의를 살펴 보자 (고화질)를 : > nullable 참조 r이있을 때 “r이 null이 아니면 사용하고, 그렇지 않으면 null이 아닌 값 x를 사용”이라고 말할 수 있습니다. ?:(엘비스) 연산자는 상세를 방지하고 정말 간결한 코드를 만든다. 예를 들어, 많은 컬렉션 확장 함수 null가 폴백으로 반환 됩니다. listOf(1, 2, 3).firstOrNull { it == 4 } ?: throw IllegalStateException("Ups") ?:여러 계층의 폴 백이있는 경우에도 폴백 케이스를 효율적으로 처리 할 수있는 방법을 제공합니다. 그렇다면 다음과 같이 Elvis 연산자를 곱하기 만하면됩니다. val l = listOf(1, 2, 3) val x = l.firstOrNull { it == 4 } ?: l.firstOrNull { it == 5 } ?: throw IllegalStateException("Ups") 만약 그렇지 않다면 똑같이 표현한다면 더 읽기 어려운 코드가 될 것입니다. -------------------------------------------------------------------------------- 답변 간단히 우리는 두 손을 가지고 있다고 말할 수 있습니다. 당신은 알고 싶어요, 당신의 왼손이 지금 작동하고 있습니까?. 왼손이 작동하지 return empty않으면busy Java의 예 : private int a; if(a != null){ println("a is not null, Value is: "+a) } else{ println("a is null") } Kotlin의 예 : val a : Int = 5 val l : Int = if (a != null) a.length else "a is null" -------------------------------------------------------------------------------- 답변 기본적으로 Elvis의 왼쪽이 어떤 이유로 null을 반환하면 대신 오른쪽이 반환됩니다. 즉 val number: Int? = null println(number ?: "Number is null") 따라서 number가 NOT null이면 숫자 를 인쇄하고 그렇지 않으면 “Number is null”을 인쇄합니다. -------------------------------------------------------------------------------- 답변 Kotlin의 elvis 연산자는 null 안전에 사용됩니다. x = a ?: b 상기 코드에서 x의 값이 할당 될 aA가없는 경우를 null하고 b있는 경우가 a있다 null. elvis 연산자를 사용하지 않는 동등한 kotlin 코드는 다음과 같습니다. x = if(a == null) b else a -------------------------------------------------------------------------------- 글 탐색 1 2 … 42,459 다음 페이지 → 최신 글 * [kotlin] 무엇입니까? : Kotlin에서 수행합니까? (엘비스 오퍼레이터) * [java] “BEGIN_OBJECT가 필요하지만 1 행 1 열에서 STRING이었습니다.” * [oop] 가변 대 불변 개체 * [c#] Json.net은 파생 유형을 직렬화 / 역 직렬화합니까? * [android] 단검 2를 사용하여 ViewPager 내에서 동일한 조각의 ViewModel을 주입하는 방법 * [ruby-on-rails] 루비 % r {} 표현식 * [python] 두 문자열을 연결하기 위해 ‘+’를 사용하지 않는 이유는 무엇입니까? * [python] 파이썬의 사전에서 속성 설정 * [sed] 각 줄 끝에 텍스트 추가 * [android] 기기에 프로세스가 표시되기를 기다리는 시간이 초과되었습니다. 카테고리 카테고리 카테고리 선택하기 Android Apple C# C++ Git Html JAVA JAVASCRIPT Linux&Unix Program PYTHON Server 쇼핑 태그 .net android angular angularjs arrays asp.net asp.net-mvc bash c c# css database django docker html ios iphone java javascript jquery json linux macos mysql node.js objective-c pandas php postgresql python r reactjs regex ruby ruby-on-rails shell sql sql-server string swift typescript vim visual-studio windows xcode Copyright © daplus.net - Powered by Naya