728x90
반응형

java 178

Java가 연산자 오버로딩을 제공하지 않는 이유

질문 : Java가 연산자 오버로딩을 제공하지 않는 이유는 무엇입니까? C ++에서 Java로 올 때 명백한 대답이없는 질문은 Java에 연산자 오버로딩이 포함되지 않은 이유입니다. Complex a, b, c; a = b + c; 가 아닙니다. Complex a, b, c; a = b + c; Complex a, b, c; a = b.add(c); 보다 훨씬 간단합니다. Complex a, b, c; a = b.add(c); ? 연산자 오버로딩을 허용 하지 않는 유효한 인수에 대한 알려진 이유가 있습니까? 이유가 임의적입니까, 아니면 시간을 잃었습니까? 답변 당신이 참조하는 개체의 이전 값 덮어 쓰기를 원하는 가정 a 다음 멤버 함수가 호출되어야 할 것이다. Complex a, b, c; // ... ..

Java에서 매개 변수 유형 옆에있는 3개의 점(...) 의 의미

질문 : Java에서 매개 변수 유형 옆에있는 3 개의 점은 무엇을 의미합니까? String 다음에 나오는 3 개의 점은 무엇을 의미합니까? public void myMethod(String... strings){ // method body } 답변 이는 0 개 이상의 String 객체 (또는 이들의 단일 배열)가 해당 메서드의 인수로 전달 될 수 있음을 의미합니다. http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs 에서 "임의의 인수 수"섹션을 참조하십시오. 귀하의 예에서 다음 중 하나로 부를 수 있습니다. myMethod(); // Likely useless, but possible myMethod("one", "tw..

자바 int []를 List<Integer>로 변환하는 방법

질문 : int []를 List로 변환하는 방법 자바? Java에서 int[] 를 List 로 어떻게 변환합니까? 물론 항목별로 루프를 수행하는 것보다 다른 답변에 관심이 있습니다. 그러나 다른 답변이 없다면이 기능이 Java의 일부가 아니라는 사실을 보여주기 위해 가장 좋은 답변을 선택하겠습니다. 답변 Arrays.asList 는 boxing을 처리하지 않고 원하는 것이 아닌 List int[] 에서 List 로 변환하는 지름길은 없습니다. 유틸리티 방법을 만들어야합니다. int[] ints = {1, 2, 3}; List intList = new ArrayList(ints.length); for (int i : ints) { intList.add(i); } 출처 : https://stackoverfl..

Java에서 InputStream을 String으로 변환하는 가장 쉬운 방법

질문 : Java에서 InputStream을 어떻게 읽고 String으로 변환합니까? java.io.InputStream 객체가있는 경우 해당 객체를 어떻게 처리하고 String 생성해야합니까? 텍스트 데이터를 포함하는 InputStream String 으로 변환하고 싶다고 가정합니다. 예를 들어이를 로그 파일에 쓸 수 있습니다. InputStream String 변환하는 가장 쉬운 방법은 무엇입니까? public String convertStreamToString(InputStream is) { // ??? } 답변 이를위한 좋은 방법은 Apache commons IOUtils InputStream 을 StringWriter 에 복사하는 것입니다. StringWriter writer = new Stri..

자바 스크립트에서 배열을 복제하는 가장 빠른 방법- slice vs for

질문 : 자바 스크립트에서 배열을 복제하는 가장 빠른 방법-슬라이스 대 'for'루프 JavaScript에서 배열을 복제하려면 다음 중 사용하는 것이 더 빠릅니까? ### 슬라이스 방법 var dup_array = original_array.slice(); ### For 루프 for(var i = 0, len = original_array.length; i < len; ++i) dup_array[i] = original_array[i]; 두 가지 방법 모두 얕은 복사 만 수행한다는 것을 알고 있습니다. original_array 에 개체에 대한 참조가 포함되어 있으면 개체는 복제되지 않지만 참조 만 복사되므로 두 배열 모두 동일한 개체에 대한 참조를 갖게됩니다. 그러나 이것은이 질문의 요점이 아닙니다. ..

Java Hashmap : Value에서 Key를 얻는 방법

질문 : Java Hashmap : 값에서 키를 얻는 방법? "foo" 값이 있고 ftw.containsValue("foo") 가 true 반환하는 HashMap ftw 가있는 경우 해당 키를 어떻게 얻을 수 있습니까? 해시 맵을 반복해야합니까? 그렇게하는 가장 좋은 방법은 무엇입니까? 답변 표준 Java Collections 프레임 워크 대신 Commons Collections 라이브러리 를 사용하도록 선택하면이를 쉽게 달성 할 수 있습니다. Collections 라이브러리의 BidiMap 인터페이스는 양방향 맵으로, 키를 값 (예 : 노멀 맵)에 매핑하고 값을 키에 매핑 할 수 있으므로 양방향으로 조회를 수행 할 수 있습니다. 값에 대한 키를 얻는 것은 getKey() 메서드에서 지원됩니다. 하지만주..

Java에서 함수를 매개 변수로 전달하는 방법

질문 : Java에서 함수를 매개 변수로 전달하는 방법은 무엇입니까? Java에서 함수를 다른 함수의 인수로 어떻게 전달할 수 있습니까? 답변 Java 8 이상 Java 8+ 람다 식을 사용하는 경우, 단일 추상 메서드 ( SAM 유형 이라고도 함) 만있는 클래스 또는 인터페이스가있는 경우, 예를 들면 다음과 같습니다. public interface MyInterface { String doSomething(int param1, String param2); } 그런 다음 MyInterface가 사용되는 모든 곳에서 람다 식을 대체 할 수 있습니다. class MyClass { public MyInterface myInterface = (p1, p2) -> { return p2 + p1; }; } 예를 들..

Jackson JSON 및 Hibernate JPA 문제가있는 무한 재귀

질문 : Jackson JSON 및 Hibernate JPA 문제가있는 무한 재귀 양방향 연관이있는 JPA 객체를 JSON으로 변환하려고 할 때 계속해서 org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) 내가 찾은 것은 기본적으로 양방향 연결을 피하도록 권장하는 스레드입니다. 누구든지 이번 봄 버그에 대한 해결 방법에 대한 아이디어가 있습니까? ------ 편집 2010-07-24 16:26:22 ------- 코드 스 니펫 : 비즈니스 객체 1 : @Entity @Table(name = "ta_trainee", uniqueConstraints = {@UniqueConstraint(columnName..

Kotlin 소스 파일을 자바 소스 파일로 변환하는 방법

질문 : Kotlin 소스 파일을 자바 소스 파일로 변환하는 방법 Kotlin 소스 파일이 있지만 Java로 번역하고 싶습니다. Kotlin을 Java 소스로 어떻게 변환 할 수 있나요? 답변 @Vadzim이 말했듯이 IntelliJ 또는 Android Studio에서 kotlin에서 Java 코드를 가져 오려면 다음을 수행해야합니다. 최신 정보: 최신 버전 (1.2 이상)의 Kotlin 플러그인을 사용하면 Menu > Tools > Kotlin -> Decompile Kotlin to Java 직접 수행 할 수도 있습니다. 출처 : https://stackoverflow.com/questions/34957430/how-to-convert-a-kotlin-source-file-to-a-java-sourc..

Java 8 스트림을 배열로 변환하는 방법

질문 : Java 8 스트림을 어레이로 변환하는 방법은 무엇입니까? Stream 을 배열로 변환하는 가장 쉽고 짧은 방법은 무엇입니까? 답변 가장 쉬운 방법은 toArray(IntFunction generator) 메서드를 사용하는 것입니다. 이것은 메소드에 대한 API 문서 에서 제안됩니다. String[] stringArray = stringStream.toArray(String[]::new); 그것이하는 일은 정수 (크기)를 인자로 받고 String[] new String[] 의 오버로드 중 하나입니다. IntFunction 작성할 수도 있습니다. Stream stringStream = ...; String[] stringArray = stringStream.toArray(size -> new St..

오류 : java: javacTask: source release 8 requires target release 1.8

질문 : 오류 : java : javacTask : 소스 릴리스 8에는 대상 릴리스 1.8이 필요합니다. IntelliJ IDE를 사용하면 프로젝트를 컴파일 할 수 없습니다. 아래 설정 스크린 샷 : 중고 JDK : 프로젝트 SDK 및 언어 수준 : 언어 수준 : 아무도 아이디어가 있습니까? 답변 Maven을 사용하는 경우 project 노드 아래의 pom.xml 에 컴파일러 플러그인을 추가합니다. org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 (댓글에서 게양.) 참고 : 프로젝트를 다시 가져 오는 것이 마음에 들지 않는다면 실제로해야 할 일은 pom을 변경하고 프로젝트를 다시 가져 오는 것뿐입니다. 그러면 IntelliJ가 올바른 설정을 선택하므로 수..

Java [duplicate]에서 구분 기호 (split의 반대)를 사용하여 배열 요소를 결합하는 빠르고 쉬운 방법

질문 : Java [duplicate]에서 구분 기호 (split의 반대)를 사용하여 배열 요소를 결합하는 빠르고 쉬운 방법 관련 .NET 질문보기 ["a","b","c"] 가 "a,b,c" 가되도록 분할과 정확히 반대되는 작업을 빠르고 쉽게 수행 할 수있는 방법을 찾고 있습니다. 배열을 반복하려면 조건을 추가하거나 (마지막 요소가 아닌 경우 구분자를 추가) 하위 문자열을 사용하여 마지막 구분 기호를 제거해야합니다. 인증되고 효율적인 방법이 있다고 확신합니다 (Apache Commons?) 프로젝트에서 어떻게하는 것을 선호합니까? 답변 Java 8을 사용하면 매우 깔끔하게이 작업을 수행 할 수 있습니다. String.join(delimiter, elements); 이것은 세 가지 방식으로 작동합니다. 1..

Java 8에서 map ()과 flatMap () 메소드의 차이점

질문 : Java 8에서 map ()과 flatMap () 메소드의 차이점은 무엇입니까? Stream.map() 과 Stream.flatMap() 메서드의 차이점은 무엇입니까? 답변 map 과 flatMap 은 모두 Stream 적용될 수 있으며 둘 다 Stream 반환합니다. 차이점은 map 작업은 각 입력 값에 대해 하나의 출력 값을 flatMap 작업은 각 입력 값에 대해 임의의 숫자 (0 개 이상의) 값을 생성한다는 것입니다. 이는 각 작업에 대한 인수에 반영됩니다. map 작업은 입력 스트림의 각 값에 대해 호출되고 하나의 결과 값을 생성 Function flatMap 작업은 개념적으로 하나의 값을 사용하고 임의의 수의 값을 생성하려는 함수를 사용합니다. 그러나 Java에서는 메서드가 0 또는 ..

Android에서 한 활동에서 다른 활동으로 객체를 전달하는 방법

질문 : Android에서 한 활동에서 다른 활동으로 객체를 전달하는 방법 한 Activity 에서 내 고객 클래스의 개체를 보내고 Activity 표시하려고합니다. 고객 분류 코드 : public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; Age = age; Address = address; } public String printValues() { String data = null; data = "First Name :" + fi..

자바에서 확인 된 예외와 확인되지 않은 예외 이해

질문 : 자바에서 확인 된 예외와 확인되지 않은 예외 이해 "Effective Java "의 Joshua Bloch는 다음과 같이 말했습니다. 복구 가능한 조건에 대해 확인 된 예외를 사용하고 프로그래밍 오류에 대해 런타임 예외를 사용합니다 (2 판의 항목 58). 내가 이것을 올바르게 이해하는지 보자. 확인 된 예외에 대한 이해는 다음과 같습니다. try{ String userInput = //read in user input Long id = Long.parseLong(userInput); }catch(NumberFormatException e){ id = 0; //recover the situation by setting the id to 0 } 1. 위의 사항이 확인 된 예외로 간주됩니까? 2. ..

Java가 정적 메서드 재정의를 허용하지 않는 이유

질문 : Java가 정적 메서드 재정의를 허용하지 않는 이유는 무엇입니까? 정적 메서드를 재정의 할 수없는 이유는 무엇입니까? 가능하면 예를 사용하십시오. 답변 재정의는 클래스의 인스턴스가 있는지에 따라 다릅니다. 다형성의 요점은 클래스를 서브 클래 싱 할 수 있고 이러한 서브 클래스를 구현하는 객체는 수퍼 클래스에 정의 된 (하위 클래스에서 재정의 됨) 동일한 메서드에 대해 다른 동작을 갖게된다는 것입니다. 정적 메서드는 클래스의 인스턴스와 연결되어 있지 않으므로 개념을 적용 할 수 없습니다. 이에 영향을 미치는 Java의 설계를 추진하는 두 가지 고려 사항이 있습니다. 하나는 성능에 대한 우려였습니다. 스몰 토크가 너무 느리다는 비판이 많았고 (가비지 수집과 다형성 호출이 그 일부가 됨) Java 제..

Java는 "참조에 의한 전달" 일까? "값에 의한 전달" 일까?

질문 : Java는 "참조에 의한 전달"또는 "값에 의한 전달"입니까? 나는 항상 Java가 pass-by-reference를 사용한다고 생각했습니다. 그러나 저는 그렇지 않다고 주장하는 블로그 게시물 (예 : 이 블로그 )을 몇 개 보았습니다 (블로그 게시물에서는 Java가 값에 의한 전달을 사용한다고 말합니다). 나는 그들이 만드는 구별을 이해하지 못한다고 생각합니다. 설명은 무엇입니까? 답변 Java는 항상 값에 의한 전달 입니다. 불행히도 우리가 객체를 다룰 때 우리는 실제로 값으로 전달되는 참조라고 불리는 객체 핸들을 다룹니다. 이 용어와 의미는 많은 초보자를 쉽게 혼동합니다. 다음과 같이 진행됩니다. public static void main(String[] args) { Dog aDog = ..

Java에서 명령 줄 인수를 구문 분석하는 방법

질문 : Java에서 명령 줄 인수를 어떻게 구문 분석합니까? Java에서 명령 줄 인수를 구문 분석하는 좋은 방법은 무엇입니까? 답변 다음을 확인하십시오. http://commons.apache.org/cli/ http://www.martiansoftware.com/jsap/ 또는 자신의 롤 : http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html 예를 들어 commons-cli 를 사용하여 2 개의 문자열 인수를 구문 분석하는 방법입니다. import org.apache.commons.cli.*; public class Main { public static void main(String[] args) throws Exception { Opt..

Java에서 public, protected, package-private, private의 차이점

질문 : Java에서 공용, 보호, 패키지 개인 및 개인의 차이점은 무엇입니까? class 및 interface 를 만들고 상속을 처리하는 동안 각 액세스 수정 자, 즉 기본 (패키지 private), public , protected 및 private 답변 공식 자습서 가 유용 할 수 있습니다. Class Package Subclass (same pkg) Subclass (diff pkg) World public + + + + + protected + + + + no modifier + + + private + + : 액세스 가능 공백 : 액세스 할 수 없음 출처 : https://stackoverflow.com/questions/215497/what-is-the-difference-between-pu..

volatile 키워드는 어디에 사용할 수 있을까?

질문 : volatile 키워드는 무엇에 유용합니까? 오늘 직장 volatile 키워드를 발견했습니다. 익숙하지 않아서이 설명을 찾았습니다. 해당 기사에서 문제의 키워드를 설명하는 세부 정보를 고려할 때 해당 키워드를 사용한 적이 있습니까? 아니면이 키워드를 올바른 방식으로 사용할 수있는 사례를 볼 수 있습니까? 답변 volatile 에는 메모리 가시성을위한 의미가 있습니다. volatile 필드의 값은 쓰기 작업이 완료된 후 모든 판독기 (특히 다른 스레드)에게 표시됩니다. volatile 없으면 독자는 업데이트되지 않은 일부 값을 볼 수 있습니다. 귀하의 질문에 답하기 위해 : 예, 일부 코드가 루프를 계속할지 여부를 제어 volatile 루프는 volatile 값을 true 계속됩니다. 조건은 "중..

Android에서 인터넷 액세스를 확인하는 방법

질문 : Android에서 인터넷 액세스를 확인하는 방법은 무엇입니까? InetAddress는 시간 초과되지 않습니다. 호스트 이름에 대한 네트워크 액세스를 확인해야하는 AsyncTask 그러나 doInBackground() 는 시간 초과되지 않습니다. 아무도 단서가 있습니까? public class HostAvailabilityTask extends AsyncTask { private Main main; public HostAvailabilityTask(Main main) { this.main = main; } protected Boolean doInBackground(String... params) { Main.Log("doInBackground() isHostAvailable():"+params[0..

Android에서 지연 후 메서드를 호출하는 방법

질문 : Android에서 지연 후 메서드를 호출하는 방법 지정된 지연 후에 다음 메서드를 호출 할 수 있기를 원합니다. 객관적인 c에는 다음과 같은 것이 있습니다. [self performSelector:@selector(DoSomething) withObject:nil afterDelay:5]; 자바와 함께 안드로이드 에이 메소드와 동등한 것이 있습니까? 예를 들어 5 초 후에 메서드를 호출 할 수 있어야합니다. public void DoSomething() { //do something here } 답변 Kotlin Handler(Looper.getMainLooper()).postDelayed({ //Do something after 100ms }, 100) Java final Handler han..

Java에서 두 배열(List)을 결합하는 방법

질문 : Java에서 두 목록을 어떻게 결합합니까? 조건 : 원래 목록을 수정하지 마십시오. JDK 전용, 외부 라이브러리 없음. 한 줄짜리 또는 JDK 1.3 버전에 대한 보너스 포인트. 다음보다 더 간단한 방법이 있습니까? List newList = new ArrayList(); newList.addAll(listOne); newList.addAll(listTwo); 답변 Java 8에서 List newList = Stream.concat(listOne.stream(), listTwo.stream()) .collect(Collectors.toList()); 출처 : https://stackoverflow.com/questions/189559/how-do-i-join-two-lists-in-java

JAVA의 원시 유형은 무엇이며 왜 사용하지 않아야 하는가?

질문 : 원시 유형은 무엇이며 왜 사용하지 않아야합니까? Java의 원시 유형은 무엇이며 새 코드에서 사용해서는 안된다는 말을 자주 듣는 이유는 무엇입니까? 원시 유형을 사용할 수없는 경우 대안은 무엇이며 어떻게 더 나은가요? 답변 Java 언어 사양은 다음과 같이 원시 유형을 정의합니다. 원시 유형은 다음 중 하나로 정의됩니다. 수반되는 형식 인수 목록없이 제네릭 형식 선언의 이름을 사용하여 형성되는 참조 형식입니다. 요소 유형이 원시 유형 인 배열 유형입니다. 비 static 원시 형의 부재 형 R 의 수퍼 또는 슈퍼로부터 상속되지 R . 다음은 설명을위한 예입니다. public class MyType { class Inner { } static class Nested { } public static..

728x90
반응형