2021-01-27 자바에서 배열을 사용하다 보면, 자신이 원하는 데이터를 찾고 싶을 때가 있을 것이다. 이를 반복문 for / while문을 돌려가면 찾을 수도 있겠지만, 친절하게도 Arrays에서 이와 같은 문제를 해결하기 위한 기능을 제공한다. 사용방법은 아래와 같다. - 선언 package Arrays_Search; import java.util.Arrays; public class main { public static void main(String[] args) { // 배열의 특정 인덱스값 추출하기 // 배열의 특정 데이터를 입력하면, // 해당 데이터에 맞는 인덱스 넘버를 리턴해준다. String [] arr = {"a", "b", "c", "d","f"}; int index = Arrays..
2021-01-26 객체명만 가지고는 해당 객체가 어느 클래스에 속하는지 종종 한 번에 파악하기 어려운 경우가 있다. 이러한 경우에는 Object 클래스가 가지고 있는 getClass와 같은 메서드를 사용하면 유용한데, 이를 사용하는 방법을 알아보자. package ClassGetName; public class Student { private String name; private String sex; public Student() { } public Student(String name, String sex) { this.name = name; this.sex = sex; } @Override public String toString() { return "이름은 " +name + "이고 성별은 " + s..
2021-01-24 간혹 문자열에 불필요한 공백이 들어가는 경우가 있는데 이와 같은 경우는 어떻게 처리할까? 물론 변수에 다시 데이터를 입력해주는 방법도 있겠지만, 문자열 데이터가 긴 경우에는 해당 작업이 귀찮아질 수가 있다. 이를 위해서 String에서는 trim이라는 메서드를 제공하는데, 이와 같은 메서드를 사용하는 방법을 알아보자. package String_trim; public class main { public static void main(String[] args) { //문자열의 불필요한 공백을 제거하는 메서드를 알아보자. String a = " Hi Hi Hi!"; String b = "Hi Hi Hi! "; String c = " 안녕하세요 ~! "; // 각 변수별 a는 앞에 불필요한..
2021-01-23 코딩을 하다 보면 다양한 형태의 변수를 문자열 형태로 바꾸어야 하는 경우가 자주 발생하게 되는데 이를 위해 String 에는 valueOf라는 메서드를 제공하고 있다. 이를 사용한 결과가 어떻게 되는지 확인해보자. package String_valueOf; import java.io.ObjectInputStream.GetField; public class main { public static void main(String[] args) { //각종 타입의 변수들을 문자열로 바꾸어보자! int numInt = 100; long numLo = 1000; double numDou = 100.100; boolean flag = true; char ch = 'A'; } } 위와 같이 서로 다른..
2021-01-22 문자열 변수를 사용하다 보면 가끔씩 해당 문자를 대문자로 바꾸어야 하거나 소문자로 바꾸어야 하는 경우가 있다. 이러한 경우 String에서는 toUpperCase/toLowerCase 메서드를 이용해 바꿀 수 있는데, 오늘은 이와 같은 방법을 알아보자. package Upper_Lower; public class main { public static void main(String[] args) { // 입력받은 문자열을 대문자로 바꾸는 방법과 // 소문자로 바꾸는 방법을 알아보자. String name1 = "AAABBB"; String name2 = "aaabbb"; String name3 = "AaaBbb"; //대문자로만 구성되어있는 변수 name1 //소문자로만 구성되어 있는 ..
2021-01-20 전 글에서 얇은 복제는 단순한 필드 값을 복사할 때만 사용하는 것이 좋으며, 그 이유는 참조 타입을 얇은 복제 시 같은 참조 번지도 같이 복사되기 때문에 복사된 클래스를 변경하면 원본 객체도 변경되게 된다고 했다. 오늘은 이제 이를 해결하는 방법인 DeepClone를 알아보도록 하자. 얇은 복제가 궁금하면 아래 글을 확인하자. seeminglyjs.tistory.com/232 아래는 참조할 클래스 Student이며 필드로는 학년이 들어갈 grade만 있다. package dDeepClone; public class Student { int grade; public Student(int grade) { this.grade = grade; // 학생의 학년을 초기화 해줌 } } 다음은 D..