Java26 isEmpty()와 isBlank()의 차이 둘은 언뜻 같아보이지만 다르다. 결론부터 말하면 isBlank는 공백을 true로 판단하고 Empty는 공백도 false로 판단한다. 값(value) isEmpty() isBlank() null true true "" true true " " false true "sdnfi" false false " sdnfi " false false 둘 사이의 동작방식 차이는 무얼까? isEmpty를 살펴보자. public inline fun CharSequence?.isNullOrEmpty(): Boolean { contract { returns(false) implies (this@isNullOrEmpty != null) } return this == null || this.length == 0 } null 혹은 .. 2019. 9. 9. replace()에서 replacement parameter로 File.separator를 사용할 때 character to be escaped is missing String을 replace() 해야할 때 File.separator를 사용할 때 character to be escaped is missing 메세지를 볼 수 있을 것이다. 아마도 윈도우 환경에서만 발생할 것이고, 원인은 File.separator가 '\'를 반환하는데 \가 escape문자이기 때문에 발생한다. 예를 들면 \를 문자로 사용하기 위해서는 \\, /를 쓰기 위해서는 \/ 이런식으로 특수문자를 쓰는데 사용되는 문자인데 \만 단독으로 사용되니 문제가 발생하는 것이다. 근데 에러 메세지도 그렇고 내부를 찾아봐도 if (nextChar == '\\') { cursor++; if (cursor == replacement.length()) throw new IllegalArgumentException.. 2019. 7. 29. AES encrypt decrypt 암호화 복호화 AES방식을 사용한 String 암,복호화다. 복호화한 후에는 new String(Byte)로 return했는데, 이게 서버로 가서 문제를 일으키는지는 확인하지 못했다. 문제 생기면 저것말고 다른 방식으로 byte->String 변환을 해야한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465public class AESencryp { private static final String TAG = AESencryp.class.getSimpleName(); private static final String ALGO = "AES"; priva.. 2015. 9. 4. DateFormat 각종 DateFormat적용 예제)new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault); yyyy-MM-dd 1969-12-31 yyyy-MM-dd 1970-01-01 yyyy-MM-dd HH:mm 1969-12-31 16:00 yyyy-MM-dd HH:mm 1970-01-01 00:00 yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800 yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000 yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800 yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000 yyyy-MM-dd'T'HH:mm:ss.SS.. 2015. 7. 6. 숫자 천단위마다 (,) 찍는 방법 String.format("%,d", value);value에 숫자형 데이터를 넣는다. String.format에서 지원하는 종류 ConverterFlagExplanationd A decimal integer.f A float.n A new line character appropriate to the platform running the application. You should always use %n, rather than \n.tB A date & time conversion—locale-specific full name of month.td, te A date & time conversion—2-digit day of month. td has leading zeroes as needed, te d.. 2015. 5. 28. open failed: EISDIR (Is a directory) 원인은 하나다. 파일을 저장할 때 파일이 아니라 디렉토리가 대상이 됐을 때 해당 에러가 발생한다. 코드를 잘 보고 파일을 포함한 경로를 적어야 되는 곳에 디렉토리 경로만 넣었는지 확인해보자. 2015. 4. 29. [JDBC] JDBC 기본 구조 튜토리얼 포인트의 jdbc 기초http://www.tutorialspoint.com/jdbc/ 1번 퀵 레퍼런스 가이드에서 jdbc를 구성하는 기본적인 방법에 대해 볼 수 있다그 외 JDBC에 대한 다양한 튜토리얼을 볼 수 있다 JDBC 작성 순서java.sql 문서 import JDBC 드라이버 로드System.setProperty() 로 여러 세팅Class.forName("com.mysql.jdbc.Driver"); // 드라이버 로드 데이터베이스 연결java.sql.Connection 으로 DB 연결Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); Statement 생성java.sql.Statementjava.sql.Prepare.. 2015. 2. 5. 모바일 소프트웨어 개발을 위한 애자일 방법론 폭포수 방법론의 문제점실패의 원인요구사항을 초기에 완벽하게 수집하기 어려움요구사항 수행 결과로 나타나는 새로운 문제점을 예측하기 어려움문서의 요구사항 간 불일치가 잘 드러나지 않음주변 상황이 빠르게 변함 Ad-Hoc 방법론특별한 방법론 없이 개발하는 것을 의미Code & Fix 방식의 개발이 많음 문제점일정 추정의 신뢰성이 매우 낮음재귀 오류가 빈번하게 발생 애자일(Agile)의 출현요구사항의 불확실성을 기본 전제로 인정완벽한 문서화 달성 및 요구사항 변경 억제를 목표로 하지 않음한번에 모든 요구사항을 구현하지 않고, 점진적으로 기능 증가(이를 위해 여러 장치와 원칙 도출) 실제 업무에서 성공적인 실천법들을 정리 애자일 선언프로세스와 도구보다 개개인과 상호 소통포괄적인 문서화보다 제대로 동작하는 소프트웨.. 2015. 1. 12. [Advanced JAVA] Java Thread process현재 실행중인 프로그램의 상태메모리코드핸들 Thread실행 중인 프로그램에서 1개의 순차적인 제어 흐름의 추상적인 개념하나의 프로그램에서 각각의 독립적인 작업을 수행하는 것을 다중 쓰레딩이라 하며, 이 경우 동시(concurrently)에 여러가지 작업이 가능하다쓰레드는 자신의 코드를 모두 실행하고 나면 자동적으로 죽는다쓰레드를 생성한 후 .Start() 메소드를 사용해야 실행된다. 사용하지 않을 경우 호출하더라도 실행 되지 않는다멀티 쓰레드를 쓰면 성능이 향상되는가?항상 그런 것은 아니다. 멀티 쓰레드 환경을 위해 여러 작업들을 더 해야되기 때문 왜 멀티 쓰레드를 쓰는가?코드 작성이 쉽다. 각각의 역할분담을 하는 것으로 복잡한 작업을 쉽게 만들 수 있다 쓰레드 생성하기생성 코드new Thr.. 2014. 12. 27. 이전 1 2 3 다음