Java—工具类类使用
工具类的调用:工具类名.方法名
工具类的书写:
示例:
写一个遍历数组的工具类
import java.util.Arrays;
public class ArrayUtil {
private ArrayUtil() {
} //用私有化构造方法不让外界创建关于它的对象
//定义static静态方法,因为只有静态才能调用静态,
测试中的main是静态方法,所以这里要加静态才能调用
如果不加静态,需要把这里的私有化构造方法去处,在测试类中
创建它的对象再调用。
//所以需要定义为静态的,方便调用
public static String printArr(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
return sb.toString() ;
}
}
我们要遍历数组就可以调用这个工具类不用再写一遍代码了
调用案例
import java.util.Arrays;
public class text13 {
public static void main(String[] args) {
int[]arr1={1,2,3,4,5};
String str= ArrayUtil.printArr(arr1);//工具类的调用:工具类名.方法名
System.out.println(str);
}
}
练习
需求:定义一个集合,用于存储3个学生对象。
学生类的属性为: name、age、gender
定义一个工具类,用于获取集合中最大学生的年龄。
public class Student {
private String name;
private int age;
private String gender;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
定义一个工具类使其功能能求出学生对象的最大值
import java.util.ArrayList;
public class StudentUtill {
//构造方法私有化
private StudentUtill() {
}
public static int getmax(ArrayList<Student> list) {
int max = list.get(0).getAge();
for (int i = 0; i < list.size(); i++) {
int li= list.get(i).getAge();
if (li > max) {
max = list.get(i).getAge();
}
}
return max;
}
}
import java.util.ArrayList;
public class Text {
public static void main(String[] args) {
ArrayList<Student>list=new ArrayList<>();
Student s1 = new Student("张三", 18, "男");
Student s2 = new Student("李四", 19, "男");
Student s3 = new Student("王五", 20, "男");
list.add(s1);
list.add(s2);
list.add(s3);
int max= StudentUtill.getmax(list);
System.out.println(max);求出学生中的最大值20岁
}
}