반응형 IT/Java394 String 기본 method 이전 포스팅에서 String 문자열에 대해 합치는것에 대한 포스팅을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. Java - String java에서 String은 Immutable하고(값을 한번 정하고 나면 수정할 수 없고), primitive type이 아니다. 배정할 값이 없다면, null이 된다. Immutable java에서 String은 Immutabl한다. 즉 한번 값을 지정했다면 그 값의 내부 원소를 수정할 수는 없다. 물론, 아래처럼 변수에 들어 있는 값을 통째로 바꾸어주는 것이 가능하기는 한데, 엄밀히 따지면 이는 값을 수정했다기 보다, 원래 있던 값을 폐기하고 새로운 값을 지정한 것이다. String s1 = "abc"; s1 = "def"; Initialize S.. 2023. 4. 29. 문자열 합치기 방법(concat, StringBuilder, StringBuffer, + ) (23.04.26) 이번 포스팅에서는 다룰 내용은 자바에서 String을 이어주기 위한 방법들이다. 어찌보면 정말 간단하지만 다양한 방법들이 있으니 이 포스팅에서 배워가길 바란다. 연산자 설명 사용법 (HelloWorld) concat database와 비슷하다 "Hello".concat("World") + 가장 기본이고 직관적이다. "Hello"+"World" StringBuilder - StringBuilder를 선언하고 append함수를 통해 문자열을 덧붙일 수 있다. - 일반 String과 StringBuilder가 다른점은 수정이 가능하다. String는 immutable 한 객체이기 때문에 값을 수정하려면 다른 값을 가진 String을 다시 대입하는 식으로 처리해야 한다. StringBuilder는 새로운 Str.. 2023. 4. 28. SQL Builder 클래스 이전 포스팅에서 Mybatis를 이용해서 sql 문을 만드는 과정을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅에 기술 되어있다. 원래 SQL 문은 String 으로 기술이 되어있고, 아래 참고 포스팅을 봐도 결국엔 String builder 를 통해서 String 을 Return 해주었다. 하지만 상황에 따라서 따옴표나 각종 특수기호 사용, 혹은 코드의 깔끔함과 간결성을 위해서 java에서 제공하는 형식이 있다. sql builder 클래스이다. 기존에는 String sql = """ select name, age from table where 1=1 and name = 'name' and age >10; """ 이런식으로 String 으로 하나로 묶었다고 하면 이 sql문을 아래와 같이 좀 더 간.. 2023. 4. 23. application.yml / .properties 값 가져오기 (@Value) application.yml 파일과 properties 파일을 다루다 보면 값들을 설정할 때가 있다. 이 파일들이 뭔지 알고 싶다면 아래 참고 포스팅을 참고 바란다. 값이 제대로 설정이 되었는지 보려면 물론 파일로 봐도 되지만, 어디서 가져오는 설정값이라던가 encrypt 된 값이라면 런타임 이후에 값을 알수 있다. 정확히 값이 있는지 확인하려면 아래와 같이 코드에 녹이면 된다. @Value("{spring.value.key}") private String value; System.out.println(value); 로 해주면 설정 값을 알수 있다. 참고 포스팅 https://thenicesj.tistory.com/531 application.properties vs application.yml 본 포스.. 2023. 4. 21. 자바 String 내에서 따옴표 사용법 자바에서 스트링을 사용할때는 큰 따옴표 ( " ) 를 사용하여 묶어준다. 하지만 스트링 안에 따옴표를 또 사용해야할 경우에는 이스케이프 시퀀스 ( \ ) 를 사용해야한다. 그리하여 큰 따옴표는 \" 로 사용을 해야한다. String name = "hi. my name is \"happy\". " 2023. 4. 20. 자바 예외 만들기 기본적으로 자바에서 제공하는 에러나 예외들이 존재한다. 그에 대한 설명들은 아래 참고 포스팅을 참고 바란다. 하지만 try catch로도 처리가 가능하지만 개인 프로젝트에서 특별히 예외 처리를 하고 싶을 경우가 있다. 그럴경우엔 예외클래스를 하나 만들어주고 throw로 던지곤 한다. 에러 혹은 예외 클래스를 만드는 법은 다음과 같다. (RuntimeException 상속) public class ExceptionEx extends RuntimeException { // 1. 매개 변수가 없는 기본 생성자 ExceptionEx() { } // 2. 예외 발생 원인(예외 메시지)을 전달하기 위해 String 타입의 매개변수를 갖는 생성자 ExceptionEx(String message) { super(mes.. 2023. 4. 18. 순환 참조란? 스프링을 사용하면서 서버를 띄우니 아래와 같은 에러가 발생 하였다. The dependencies of some of the beans in the application context form a cycle: ┌─────┐ | autowiredTestA defined in file [/Users/eclipse-workspace/testProject/target/classes/com/test/autowired/AutowiredTestA.class] ↑ ↓ | autowiredTestB defined in file [/Users/eclipse-workspace/testProject/target/classes/com/test/autowired/AutowiredTestB.class] └─────┘ 순환 참조가 .. 2023. 4. 17. Map 추출하는 방법 map 에 대한 내용은 아래 포스팅에 있으니 참고 바란다. 다양한 방법으로 map 내에 데이터를 꺼낼수 있는데 그중 많이 사용하는 3가지 방법을 적어두려고 한다. Map map = new HashMap(); map.put("a", "1"); map.put("b", "2"); map.put("c", "3"); for ( String key : map.keySet() ) { log.info("a> key: {}, value: {}",key, map.get(key)); } log.info("=======================") for ( Map.Entry entry : map.entrySet() ) { log.info("b> key: {}, value: {}", entry.getKey(), entry.. 2023. 4. 15. application.properties vs application.yml 본 포스팅의 주제는 제목과 같다. 먼저 둘의 차이를 보기 위해서 예제를 보면 다음과 같다. application.yml server: port: 8080 servlet: context-path: /test encoding: charset: UTF-8 enabled: true force: true spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test?useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Seoul&useLegacyDatetimeCode=false username: root password: root applicat.. 2023. 4. 11. 이전 1 ··· 23 24 25 26 27 28 29 ··· 44 다음 반응형