老师,Set<String> keys3=map.keySet();中,前面的Set是啥,为啥要加,我还是没明白。
这是为什么不让我用呀。。。。。。。。。。。
Iterator<String>,
这个泛型代表什么呢,这又不是容器,为什么要加个泛型呢
老师,我使用 BufferedReader, BufferedWriter 读取和写入 pdf 文件,在打开复制后的文件时,提示新文件为加密文件,请问这是什么原理,使用 BufferedWriter 可以实现对pdf文档的加密吗?
老师,是不是可以这样理解:HashMap其实存储的是对象的地址,并不是对象本身。
那么是不是容器中存储的都是对象的地址呢,包括数组存储的是不是也是对象的地址呢。
老师,字节流是面向字节的,一个字节是8位,范围是0~255,那字节流是如何读取写入那些占两个字节的字符的(比如汉字)?
老师,我画黑线的地方为什么是FileNotFoundException和IOException怎么不是Exception
还有我刚刚学习异常机制是建议用快捷键还是手打
Users属于序列化的还是是被序列化的
相反,StringBuilder 和 StringBuffer 类是对原字符串本身操作的,可以对字符串进行修改而不产生副本拷贝或者产生少量的副本。因此可以在循环中使用。
老师,这里产生的少量副本是指什么?是指调用toString方法的时候吗?
老师,是主线程死亡,子线程就一定也跟着死亡了,但是主线程死亡,子线程在阻塞的状态,子线程就没死,是这样吗
老师,代码的最后几分钟在读取客户端消息的时候加了个判断,如果读取的字符串为exist,则while循环结束。我的问题是客户端怎么给服务端传递exist字符串,让它关闭主线程不死的while循环?
老师,这个代码直接return 的情况下,出现重名的时候,查询到第一个人的时候,就直接返回结果了,不会打印全部重名的记录吧?
public class TestTreeSet02 { public static void main(String[] args) { Set<User> set = new TreeSet<>(); User u = new User("oldlu",18); User u1 = new User("lili",22); User u2 = new User("admin",22); set.add(u); set.add(u1); set.add(u2); for(User user:set){ System.out.println(user); } } } class User implements Comparable<User>{ private String userName; private int userAge; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getUserAge() { return userAge; } public void setUserAge(int userAge) { this.userAge = userAge; } // 无参构造器 public User() { } // 带参构造器 public User(String userName, int userAge) { this.userName = userName; this.userAge = userAge; } // 重写toString方法 @Override public String toString() { return "姓名:" + userName + ", 年龄:" + userAge ; } // 重写equals方法 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return userAge == user.userAge && Objects.equals(userName, user.userName); } // 重写hashCoded方法 @Override public int hashCode() { return Objects.hash(userName, userAge); } // 重写比较器方法 定义比较规则 // 正数:大 负数:小 0:相等 @Override public int compareTo(User o) { // 通过年龄进场比较 由小到大 if(this.userAge > o.getUserAge()){ return 1; } // 如果年龄相同,按姓名进行排序 if(this.userAge == o.getUserAge()){ return this.userName.compareTo(o.getUserName()); } return -1; } }
我在compareTo方法直接返回-1 会按照年龄从大到小排序,年龄相等的也会按照姓名顺序排序,这是为什么?
但是如果我return 0 就只返回第一个添加的
0a01f2ccd321ee76404b5f1279abda1.png
老师这里接受信息的线程为什么不用ServerSocket而要用Socket?
和老师的代码一样,不知道哪里出错了,找不出来,希望老师指点一下
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637