实现一个自己的字符串类,实现一下方法indexOf() lastIndexOf() charAt(index) length() isEmpty()
来源:互联网 发布:oracle数据库连接器 编辑:程序博客网 时间:2024/05/22 14:28
import java.util.Arrays;/** * Created by Avery on 2017/6/30. */public class StringTest { private char value[]; public StringTest() { } public StringTest(String val) { char[] value=val.toCharArray(); this.value = value; } public StringTest(StringTest original) { this.value = original.value; //this.hash = original.hash; } @Override public String toString() { return toString(value); } /** * 把char数组转为String类型不用Arrays.toString() * 原因是我不需要那些多余的逗号 以及[] 不需要形如这样的[h,e,l,l,o] */ public static String toString(char[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) return "[]"; StringBuilder b = new StringBuilder(); for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.toString(); } } /**实现length()方法*/ public int length() { return value.length; } /**实现isEmpty()*/ public boolean isEmpty(){ if(value==null||value.length==0) return true; else return false; } /**实现indexOf方法 返回值是下标*/ public int indexOf(Object ch) { //这里可以加一个判断传进来的是不是String类型然后再做相应处理 // 这里只考虑char型传入的是char型则可以正确处理传入的是其它类型抛异常 char c=(char)(ch); for(int i=0;i<value.length;i++) if(value[i]==c) return i;//找到返回下标 return -1;//找不到返因-1 } /**实现indexOf方法 返回值是下标*/ public int lastIndexOf(char ch){ for(int i=value.length-1;i>=0;i--) if(value[i]==ch) return i; return -1; } /**实现charAt(index)方法*/ public char charAt(int index){ if ((index < 0) || (index >= value.length)) { throw new StringIndexOutOfBoundsException(index); } return value[index]; } public static void main(String[] args) { StringTest str=new StringTest("hello"); System.out.println(str);//测试toString System.out.println(str.indexOf('e'));//测试indexOf System.out.println(str.lastIndexOf('a'));//测试lastIndexOf String str1="123"; System.out.println(str.isEmpty());//false StringTest str2=new StringTest(); System.out.println(str2.isEmpty());//true System.out.println(str.charAt(1));//e }}
阅读全文
0 0
- 实现一个自己的字符串类,实现一下方法indexOf() lastIndexOf() charAt(index) length() isEmpty()
- javascript字符串string常用的几种方法(indexOf/lastIndexOf/search/charAt/match/slice/substr/replace/concat/split
- javascript 中indexof,lastindexof,substr,substring,charat的应用
- indexOf()与lastIndexOf()方法搜索字符串
- mysql 实现 lastindexof 的方法
- MySQL 实现 lastindexof 的方法
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- github拉代码出现Permission denied (publickey).等问题的解决
- scons 工具使用
- com.google.gson.internal.LinkedTreeMap cannot be cast to xxx
- scons 工具使用
- Go语言MD5加密用法实例
- 实现一个自己的字符串类,实现一下方法indexOf() lastIndexOf() charAt(index) length() isEmpty()
- Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
- 配置 cros Java 前后端分离跨域请求
- shiro常见异常
- Android模块化开发--路由ARouter日常使用
- 自定义textview实现竖直滚动跑马灯效果
- 微信开发MySQL篇(四)
- Windows下Visual Stdio 2013+仅cpu模式 caffe编译
- Android Studio Gradle优化方法(一般人我不告诉他)