본문 바로가기

Backend/Java3

[JAVA]Map에서 key값이 소문자로 변환되어 들어가는 현상과 해결 🔍 Map에서 key값이 소문자로 변환되어 들어가는 현상 쿼리로 던져줄 Map에 put을 하는데 카멜표기법으로 넣은 key값이 자꾸 소문자로 변환이 되었다. 쿼리 파라메터에는 당연히 NULL이 들어갔고 원하는 데이터를 얻지 못했다. 💡 첫번째 해결 방법 map.put("$USER_LANG_TYPE", userLangType) 위와 같이 대문자에 언더바로 키값을 변경해주었더니 카멜표기법으로 데이터가 잘 들어갔다. 콘솔에 찍힌 쿼리에도 파라메터가 잘 들어갔다 ㅎㅎ 💡 두번째 해결 방법 데이터는 잘 나왔지만 다른 방법이 있지않을까 하는 마음에 회사 선배에게 여쭤봤다. 컬렉션을 사용하면서 키값 앞에 달러기호($)를 쓰는 경우에는 해당 버그가 발생할 수도 있다고 했다. 확실한 원인은 안바쁘실 때 각잡고 물어봐야겠.. 2024. 1. 11.
[JAVA]오버로딩(overloading)과 오버라이딩(overriding) 오버로딩(overloading)과 오버라이딩(overriding) 💡오버로딩(overloading) • 하나의 클래스 내부에서 확장 • 메소드 이름은 동일해야 함 • 매개변수의 개수 또는 타입이 달라야 함 • 리턴 타입은 자유로움 • 매개변수는 같고 리턴 타입이 다르면 성립하지 않음 💡오버라이딩(overriding) • 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의 • 메소드의 동작만을 재정의 • 메소드의 이름, 매개변수, 리턴값이 모두 일치해야 함 • 접근 제어자를 더 좁은 범위로 변경할 수 없음 💡오버로딩(overloading)과 오버라이딩(overriding)의 차이점 오버로딩(overloading)은 새로운 메소드의 정의하는 것이고, 오버라이딩(overriding)은 상속받은 기존의 .. 2024. 1. 5.
[Java]List에 Map을 add할 때 같은 값이 반복되어 들어가는 현상 이 현상을 해결하기 위해 결론부터 말하자면 map.clear(); 대신에 map = new HashMap(); 을 써주면 된다 같은 값이 반복되어 들어가는 코드 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; class listLoop{ public static void main(String[] args){ Map map = new HashMap(); List list = new ArrayList(); for (int i = 0; i < 5; i ++) { // 이 부분을 map.clear(); map.put("안녕하세요" + i, "" + i); list.add(map); }.. 2023. 11. 10.
728x90