나는 s ArrayList
를 취하고 String
클래스의 한 메소드가를 취하고 String
앞에 "긴급 :"을 추가하고 목록의 시작 부분에 배치합니다. 나는 이제 int
, String
의 위치 를 취하고 그 문자열을 목록의 끝으로 '강등' 시키는 방법을 작성하고 있습니다 .
그러나 문자열 앞에 "urgent :"가있는 경우이 메서드는 강등 된 경우 "urgent :"도 제거해야합니다. 모든 것이 컴파일되고 실행되지만 "긴급"을 제거하지 않고 이유를 모르겠습니다.
public void addUrgetItem(String newItem) {
String urgentItem = newItem;
items.add(0, "urgent: " + urgentItem);
}
public void demote(int position) {
int size = items.size();
String itemAtSpot = items.get(position);
items.remove(itemAtSpot);
items.add((size-1), itemAtSpot);
if (itemAtSpot.startsWith("urgent:")) {
items.remove("urgent:");
}
}
당신이 이것을 말할 때 :
items.remove("urgent:");
String
목록의 특정 항목이 아니라 목록 자체에서 문자 "긴급" 을 제거하려고 합니다. 대신 .NET Framework에 itemAtSpot
다시 추가하기 전에 해당 텍스트를 제거해야 합니다 List
. 다음과 같이 보일 것입니다.
public void demote(int position) {
int size = items.size();
String itemAtSpot = items.get(position);
items.remove(itemAtSpot);
if (itemAtSpot.startsWith("urgent: ")) {
itemAtSpot = itemAtSpot.substring("urgent: ".length());
}
items.add(itemAtSpot);
}
따라서를 제거한 String
후 "urgent :"뒤에있는 모든 항목의 하위 문자열을 가져 와서 List
끝에 다시 추가합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다