[JAVA] controller에서 나오는 결과 값의 변수명을 list가 아닌 seachList으로 넣고싶다.

    문제사항 : 변수명을 list에서 searchList으로 바꿨을 뿐인데, 검색이 되지 않는다.

    해결방안 : 콘솔창에서 Tap으로 입력하지 말고, 마우스로 커서를 가져다대보자

     

     

    public ArrayList <Music> searchMusic(String keyword) {
    		
    		ArrayList <Music> searchList = new ArrayList<>();
    		
    		for(int i=0; i<list.size(); i++) {
    			
    			if(list.get(i).getTitle().contains(keyword)) {
    			 // return는 한 개만 가져다 줄 수 있기 때문에 searchList에 값을 담고 한꺼번에 반환할 계획 ! 
    				 searchList.add(list.get(i));
    			}
    			
    		}
    		
    		return  searchList; // 텅 비어있는 상태로 리턴이 되거나, 뭐라도 담긴 상태로 리턴이 되거나 
    		
    	}

     

    return된 값을 searchList로 설정했으니,  아래의 메소드에서도 searchList로 기술하고 싶었다. (== 주소값이 전달되기 때문에 사실 다른 변수명을 제시해도 무방하지만, 이해를 위해서 같은 변수명을 제시하고 싶었다) 

     

    public void searchMusic() {
    		
            System.out.println("\n ==== 특정 곡 검색 ==== ");
    		
    		System.out.print("검색할 곡의 키워드 : ");
    		String keyword = sc.nextLine();
    		
    		// 검색 요청 ! == Controller 메소드 호출 ! //주소값이 돌아오기 때문에 이름이 꼭 똑같을 필요는 없다 ! 
    		ArrayList <Music> searchList = mc.searchMusic(keyword);
    			
    		if(searchList.isEmpty()) {
    			System.out.println( keyword + "에 대한 검색 결과가 없습니다");
    		} else {
    			for(int i=0; i<searchList.size(); i++) {
    				System.out.println(searchList.get(i));
    			} 
    		}
    		
    		
    		
    	}

     

    이상없이 프로그램 동작 되는 것 확인했다 ! 

     

    728x90

    댓글