JavaSE常用类方法总结

tech2022-08-19  124

【Arrays】:

boolean equals(int[] a,int[] b):比较两个数组的元素是否依次相等String toString(int[] a):输出数组信息void fill(int[] a,int val):将指定值填充到数组之中void sort(int[] a):使用快速排序算法实现的排序int binarySearch(int[] a,int key):二分查找,前提:有序!如果找到了key元素,则返回其在数组中的位置,否则,返回负数 List asList(T… a):数组转List,与Collection.toArray()相结合。不能使用其修改集合相关的方法,因为其本质还是数组。

【String】: char charAt(int index):返回指定索引处的值 int compareTo(String anotherString):两个字符串从第一个字母比较,不同时返回前者ASCII-后者;完全相同返回0;包含关系返回前者字符串长度-后者 boolean contains(CharSequence s):字符串包含指定的char值序列时才返回true boolean endsWith(String suffix):判断是否以指定后缀结尾 boolean startsWith(String prefix):判断是否以指定的前缀开头 char[] toCharArray():字符串转换为字符数组 String toLowerCase():转换成小写 String toUpperCase():转换成大写 byte[] getBytes():编码为字节序列 int indexOf(int ch):返回指定字符第一次出现的字符串内的索引 int lastIndexOf(int ch):返回指定字符的最后一次出现的字符串中的索引 int length():长度 String replace(char oldChar, char newChar):替换所有 str.replaceAll("[a-zA-Z]", “”):去掉字母 String replaceFirst(String regex, String replacement):替换首个 String substring(int beginIndex, int endIndex):截取字符串,左包右不包 String[] split(String regex):拆分 String trim():删除前后空格,不删除中间空格 static String valueOf():返回char/char[]/double等字符串 static String join(CharSequence delimiter, CharSequence… elements):按指定元素拼接元素

【StringBuffer/StringBuilder】: 增:append(xxx) 删:delete(int start, int end) 改:setCharAt(int n, char ch)/replace(int start, int end, String str) 查:charAt(int n) 插:insert(int offset, xxx) 长度:length() 反转:reverse()

【Math】:没有构造方法,成员都是静态 Math.abs(int a):绝对值 Math.ceil(double a):向上取整 Math.floor(double a):向下取整 Math.max(int a, int b):最大值 Math.pow(double a, double b):a的b次幂 Math.random():随机数 1<=number<100随机数:int number = (int)(Math.random() * 100) + 1; 10<=number<80随机数:int number = (int)(Math.random() * 70) + 10; Math.round(float a):四舍五入(加0.5取整) Math.sprt(double a):正平方根

【Collection】: 增:add()/addAll()/size()/isEmpty()/clear() 删:remove(Object obj)删除首个匹配对象/remove(int index)/removeAll()/clear() 包含:contains(Object obj)/containsAll(Collection coll) 交集:retainAll(Collection coll)共有交集赋给对象 比较:equals()/hashCode() 转换:toArray() 判断:boolean contains(Object obj)/boolean containsAll(Collection c)/boolean isEmpty()

【Collections】: reverse(List):反转 shuffle(List):随机排序 sort(List):升序排序 sort(List, Comparator):指定排序 swap(List, int, int):元素交换 Object max/min(Collection):最大/最小元素 Object max/min(Collection, Comparator):指定排序最大/最小元素 int frequency(Collection, Object):元素出现次数 void copy(List dest, List src):复制(浅拷贝!) boolean replaceAll(List list,Object oldVal, Object newVal):替换

【List】: 增:add(Object obj) 删:remove(Object obj)/remove(int index)/clear() 改:set(int index, Object ele) 查:get(int index) 插:add(int index, Object ele) 长度:size() 遍历:iterator()/增强for

【Map】: 增:put(Object key, Object value) 删:remove(Object key)/clear() 改:put(Object key, Object value) 查:get(Object key)/boolean containsKey(Object key)/boolean containsValue(Object value) 长度:size() 遍历:keySet()/values()/entrySet()

【Thread】:

start()启动线程调用线程中的run()run()只能try-catch是因为父类被重写方法没有抛异常currentThread()获取当前线程getName()setName()也可以通过子类构造方法命名public Xxx(String name){super(name);}sleep(long millis)阻塞当前线程毫秒数yield()释放当前线程CPU执行权a.join()先执行完a线程,其他线程进入阻塞isAlive()当前线程是都存在,死后也不能start()

【File】: File类的获取功能: public String getAbsolutePath():获取绝对路径 public File getAbsoluteFile():获取绝对路径表示的文件 public String getPath():获取路径 public String getName():获取名称 public String getParent():获取上层文件目录路径。若无,返回null public long length():获取文件长度(字节数) public long lastModified():获取最后一次修改时间,毫秒值 public String[] list():获取指定目录下所有文件/目录的名称数组 public File[] listFiles():获取指定目录下所有文件/目录的File数组 public boolean renameTo(File dest):把文件重命名为指定的文件路径 public boolean isDirectory():判断是否是文件目录 public boolean isFile():判断是否是文件 public boolean exists():判断是否存在 public boolean canRead():判断是否可读 public boolean canWrite():判断是否可写 public boolean isHidden():判断是否隐藏 File类的创建功能: public boolean createNewFile():创建文件。若文件存在则不创建,返回false public boolean mkdir():创建文件目录。若此目录存在或上层目录不存在,则不创建 public boolean mkdirs():创建文件目录。若上层目录不存在,一并创 File类的删除功能: public boolean delete():删除文件或者文件夹

【URL】: URL url = new URL(“http://xxx”); public String getProtocol( ) 获取该URL的协议名 public String getHost( ) 获取该URL的主机名 public String getPort( ) 获取该URL的端口号 public String getPath( ) 获取该URL的文件路径 public String getFile( ) 获取该URL的文件名 public String getQuery( ) 获取该URL的查询名

【Class】: 获取运行时类中的所有结构: Class clazz = Person.class; // 前提:获取运行期中的运行时类Person Field[] fields = clazz.getFields(); // 获取到运行时类本身及其所有的父类中声明为public权限的属性 Field[] declaredFields = clazz.getDeclaredFields(); // 获取当前运行时类中声明的所有属性 for(Field f : declaredFields){ int modifier = f.getModifiers(); // 权限修饰符 // System.out.println(modifier); System.out.print(Modifier.toString(modifier) + “\t”); Class type = f.getType(); // 数据类型 System.out.print(type.getName() + “\t”); String fName = f.getName(); // 变量名 } Constructor[] cons = clazz.getDeclaredConstructors(); // 所有的构造器 Class superclass = clazz.getSuperclass(); // 运行时类的父类 Package pack = clazz.getPackage(); // 运行时类的所在的包 Annotation[] annos = clazz.getAnnotations(); // 运行时类的注解 Class[] interfaces = clazz.getInterfaces(); // 运行时类所实现的接口 Type genericSuperclass = clazz.getGenericSuperclass(); // 运行时类的带泛型的父类 ParameterizedType paramsType = (ParameterizedType) genericSuperclass; // 如果父类是带泛型的,则一定可以强转为ParameterizedType Type[] arguments = paramsType.getActualTypeArguments(); // 运行时类的父类的泛型 System.out.println(((Class)arguments[0]).getName()); 总结:通过反射获取运行时类中的所有结构: Field nameFiled = clazz.getDeclaredField(“name”); nameFiled.setAccessible(true); nameFiled.set(p2,“Jerry”); System.out.println(nameFiled.get(p2)); Method showNation = clazz.getDeclaredMethod(“showNation”, String.class, int.class); showNation.setAccessible(true); // 保证此方法是可访问的 String nation = (String) showNation.invoke(p1,“CHINA”,10); // 类比:String nation = p1.showNation(“CHIINA”,10) Object returnVal = showInfo.invoke(null); // 调用静态方法参数p1可为null 因为一定是当前对象 Constructor constructor = clazz.getDeclaredConstructor(String.class, int.class); constructor.setAccessible(true); Person p = (Person) constructor.newInstance(“王百度”,24);

最新回复(0)