본문 바로가기

Dev/Java8

스페이스 도 정규식이 있다?! 혹시, 여러분은 스페이스를 정규식으로 표현할 수 있다는 것을 알았습니까??물론, 알았겠지요... 아마 저만... 스페이스를 정규식으로 할 수 있다는 사실을 몰랐던것 같습니다. 저는 보통 String 을 특정 단어, 공백, 등으로 나눌때, String str = "ab cd ef gh";String[] arr = str.split(" "); 방식으로 나눴습니다. 그러나 검색을 하다보니 정규식이 있다는 것을 알았습니다. ^^;;;; String str = "Hello I'm your String"; String[] splited = str.split("\\s+"); 나만, 몰랐나보다..... 단순히 space바를 쓸게 아니라 확실하게 정규식을 쓰는게 내가 스페이스바를 몇번을 눌렀는지 헷갈리지도 않고 좋을것 .. 2018. 9. 10.
Calendar 클래스 사용 - Non-static method cannot be referenced from a static context Date 클래스를 이용한 getDate(), getYear() 이용하고 싶었습니다. 그러나 IDE 상에서 관련 함수들이 전부 Deprecated 되어있었습니다. 조금 찾아보니, Date 클래스는 모든 국가에 사용하기에 적합하지 않기에 JDK1.1 이후부터는 Calendar 클래스를 제공한다고 문서에 나와있습니다. 그래서 Calendar 를 사용해서 Calendar.get(Calendar.YEAR); 를 했는데 아래와 같이 경고 문구가 나왔습니다.Non-static method cannot be referenced from a static context참고 : https://stackoverflow.com/questions/4922145/non-static-method-cannot-be-referenced.. 2018. 3. 2.
[Sunday Study] RxJava 투덜투덜 불평하기에 시간은 짧고 아깝다. RxJava - just()- create()- fromArray()- fromIterator()- fromCallable() Observable.range(1,9).map(row -> num + " * " + row + " = " + dan * row);Observable source = Observable.just(dan).flatMap(gugudan);source.subscribe(System.out::println); Reactive Extention: http://reactivex.io/ 2018. 2. 11.
디자인 패턴 - Strategy Pattern 디자인 패턴 - Strategy Pattern Interface 와 구현체들그리고 Interface 를 Delegate 한 ClassDelegate 한 클래스를 사용하는 Main Class 강의 : https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4/ 2018. 1. 2.
for문에서 변수명 이렇게 쓰지마라!! for 문에 사용하는 변수명!! 프로그래밍을 하다보면 당연(?)하게 for 문을 작성하게 된다. 아마도?! ArrayList list = new ArrayList(); for (int i = 0; i < list.size(); i++) { ArrayList strList = new ArrayList(); // .... for (int j = 0; j < strList.size(); j++) {//....}} 위와 같이 나는 작성을 했었다.따로 어디선가 받아오는 변수 명이 아닐 경우에 해당 for 문에 int i 와 같이 i 를 주로 썼었다. 그리고 언젠가 웹인지 책인지 어딘지 모르겠지만 for 문 안에 사용하는 변수명을 i 와 같이 명명하지 말라고 했었다. 명확성이 떨어지고 나중에 코드를 봤을때 이해하기.. 2017. 11. 14.
Java - Random 메소드 사용 Java 유틸에서 Random 함수를 쓸때,특정 범위까지 랜덤구하는 방법을 간단하게 구현해놓았다. //1. nextInt(range) = nextInt(max - min) new Random().nextInt(5); // [0...4] [min = 0, max = 4] new Random().nextInt(6); // [0...5] new Random().nextInt(7); // [0...6] new Random().nextInt(8); // [0...7] new Random().nextInt(9); // [0...8] new Random().nextInt(10); // [0...9] new Random().nextInt(11); // [0...10] 참고 : https://www.mkyong.com/.. 2017. 11. 6.