최근 자바에 들어갔다. 필자는 역동적 인 언어로 배경 지식을 가지고 있으며, 마침내 사람들이 왜 Java의 자세한 정보에 불만을 토로하는지 궁금해합니다. 이 문제를 다루는 클래스 라이브러리가 있습니까? 나는 차라리 Java에서 사용자 입력을 얻는 데 필요한 8 줄 정도가 아닌 String text = someClass.stdin()
과 같은 형식을 사용합니다.자바의 막대한 자질을위한 클래스 라이브러리
답변
Apache Commons 라이브러리 (특히 Lang, IO 및 Collections) 중 일부는 특정 핵심 Java API의 자세한 정보를 숨기도록 설계되었습니다. 그러나 Java 언어의 자세한 정보는 우리 모두에게 달려 있습니다.
는 물론 구글은 또한 컬렉션 라이브러리와 같은 표준 라이브러리의 섹션을 보완 도서관의 숫자를 발표했다
에는 JPython, JRuby를, Clojure의 스칼라 ... 여러 가지가 있습니다. Guice는 IMHO가 그 봄을 더 쉽게 배우는 멋진 경량 DI 프레임 워크입니다.
표준 라이브러리가 너무 커서 모든 것을 대체하는 단일 라이브러리를 찾지 못할 것이라고 생각합니다.
import java.util.Scanner;
...
System.out.print("Enter your name: ");
String userName = new Scanner(System.in).nextLine();
또는 : 당신은 가장 좋은 건 개인의 문제를 해결 도서관을 찾는 것입니다있어 자바 5에서
(즉, 내가 컬렉션 API를 좋아하지 않아, 나는 객체 풀 등이 필요) , Java 6 :
String userName = System.console().readLine("Enter your name: ");
+1 멋진 점은 표준 라이브러리의 최신 버전이 아직 해결하지 않았는지 확인하십시오. – Yishai
Java 6로 업그레이드 중입니다. 젠과 같은 통찰력을 가져 주셔서 감사합니다 : 때때로 당신이 찾고있는 것이 이미 거기에 있습니다. –
저는 Java에서 사용자 입력을 얻기 위해이 8 개의 라인을보고 싶습니다.
저는 개인적으로 프로그램의 규모가 커짐에 따라 Java의 자세한 표시가 자산이된다고 개인적으로 생각합니다. C 및 C++과 달리 모든 것이보다 객체 지향적 인 방식으로 수행됩니다. 출력을 나타내는 객체를 가져온 다음 작업을 출력합니다. 장기적으로 이해하고 유지하는 것이 훨씬 쉽습니다.
멋진 printf()가 여기 저기에있는 것처럼 빠른가요? 아닙니다. 파이썬에서 스크립팅만큼 편리합니까? 당연히 아니지. 그러나 그것은 Lambdas가 부족한 것처럼 Java와 같은 언어를 사용하는 비용의 일부입니다.
엔지니어로서 당신의 역할은 작업에 가장 적합한 도구를 선택하는 것입니다. 대부분의 코딩은 Java에서하고, 일부는 Python에서하고, 각각의 단점을 수용합니다.
언어를 변경할 수는 없지만 일부 작업 (예 : Google 또는 Apache의 IO 라이브러리)을 단순화하는 라이브러리를 사용할 수 있습니다. 당신에게 가장 괴롭히는 것들을위한 수업을 직접 작성할 수도 있습니다.
나는 언어와 표준 라이브러리의 자세한 내용을 혼동스럽게 생각한다고 생각합니다. 라이브러리에는 많은 것들이 포함되어 있습니다. 대부분 필요하지 않을 것입니다. 나는 현존하는 사업부를 상당히 간단하게 생각하고 내가 신경 쓰지 않는 분야에서 자신을 찾지 못했다.
정말로 자바에 맞설 수 없다면 스칼라와 같은 하이브리드 언어를 사용하는 것이 좋습니다.
나는 내 IDE의 라이브 템플릿 기능에 기대고있어 큰 팬이다. (IntelliJ IDEA) StringBuffer 또는 System.out.println ("...")을 마지막으로 사용한 시간을 기억할 수 없습니다.
이것은 정확히 내가 필요한 것 같습니다. –