제 프로그램에서는 많은 String 및 StringBuilder를 사용합니다. StringBuilder toString() 메서드를 제거하고 전체에서 CharSequences를 사용하고 싶습니다. 그러나 IndexOf 메서드 (StringBuilder와 String 모두에서 사용할 수 있지만 다른 구현에서는 사용할 수 없음)에 액세스해야합니다. 이 함수를 표시하는 인터페이스를 구현하려면 어떻게해야합니까?그것을 지원하는 CharSequence 구현의 indexOf
2
A
답변
2
글쎄, 당신이 알려진 유형의 테스트를 하드 코딩, 그것을 수행하여 합리적으로 쉽게 할 수있는 "수동"그렇지
public static int indexOf(CharSequence input, String needle) {
if (input instanceof String) {
String text = (String) input;
return text.indexOf(needle);
}
if (input instanceof StringBuilder) {
StringBuilder text = (StringBuilder) input;
return text.indexOf(needle);
}
// TODO: Do this without calling toString() :)
return input.toString().indexOf(needle);
}
이 유형을 하드 코딩하는 측면에서 매우 추한이지만 ' 좋아.
1
하나의 생각은 각 유형에 대해 여러 정적 구현이있는 클래스를 갖는 것입니다.
public class Strings{
public static int indexOf(String input, String c){
return input.indexOf(c);
}
public static int indexOf(StringBuilder input, String c){
return input.indexOf(c);
}
public static int indexOf(YourClass input, String c){
return input.indexOf(c);
}
}
이 방법, 당신은 단지 구현이있는 각 유형에 대한 Strings.indexOf(whatever)
를 호출 할 수 있습니다. 컴파일러/jvm이 사용할 메서드를 선택하게하여 코드를 깨끗하게 유지합니다.
0
관련 문제
- 1. CharSequence 사용 방법
- 2. IndexOf 술어?
- 3. string IndexOf and Replace
- 4. 그루비 목록 같이 IndexOf
- 5. P1/SQL의 IndexOf 기능
- 6. indexOf 작동하지 않음
- 7. 같이 IndexOf 기능
- 8. 하위 문자열과 indexOf 메서드
- 9. T-SQL의 IndexOf 함수
- 10. ActionScript 추적 배열 indexOf?
- 11. 안드로이드 SQLite는 같이 IndexOf()
- 12. 자바에서 CharSequence 또는 char []로 문자열 변환
- 13. 싱글 톤 구현의 차이
- 14. HashMap <CharSequence, CharSequence>을 HashMap <String, String>으로 설정할 수 없습니다.
- 15. ArrayList <String> to CharSequence []
- 16. btree 구현의 세그먼트 오류
- 17. "startsWith"가 "indexOf"보다 빠릅니까?
- 18. 액션 스크립트 같이 IndexOf 문제
- 19. indexof 및 하위 문자열 문제
- 20. Collections.binarySearch() 대 목록 같이 IndexOf()
- 21. string.Contains() 및 IndexOf() throw FormatException
- 22. 같이 IndexOf 오류 HTML 페이지
- 23. Jquery Accordion 구현의 지터
- 24. ComicFlow 프로젝트 구현의 어려움
- 25. IOperationInvoker 구현의 MethodInfo
- 26. Java에서 인터페이스 구현의 상속
- 27. VB6 구현의 Class_Terminate
- 28. 테스트 스파이 구현의 차이점
- 29. 소프트웨어 구현의 성능 비교
- 30. CORBA 구현의 호환성
. 감사. – killachaos