JavaSE常用类方法总结

【Arrays】:

  1. boolean equals(int[] a,int[] b):比较两个数组的元素是否依次相等
  2. String toString(int[] a):输出数组信息
  3. void fill(int[] a,int val):将指定值填充到数组之中
  4. void sort(int[] a):使用快速排序算法实现的排序
  5. int binarySearch(int[] a,int key):二分查找,前提:有序!如果找到了key元素,则返回其在数组中的位置,否则,返回负数
  6. 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】:

  1. start()启动线程调用线程中的run()
  2. run()只能try-catch是因为父类被重写方法没有抛异常
  3. currentThread()获取当前线程
  4. getName()
  5. setName()也可以通过子类构造方法命名public Xxx(String name){super(name);}
  6. sleep(long millis)阻塞当前线程毫秒数
  7. yield()释放当前线程CPU执行权
  8. a.join()先执行完a线程,其他线程进入阻塞
  9. 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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值