老师,请问反射机制在接下来什么章节会使用比较多?
class A implements Runnable{ @Override public void run() { Thread t = new Thread(new B()); t.start(); for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + " " + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } class B implements Runnable{ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName() + " " + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class JoinThread { public static void main(String[] args) { Thread t = new Thread(new A()); //Thread t1 = new Thread(new B()); t.start(); //t1.start(); for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + " " + i); if (i == 2){ try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
Thread-0 0
Thread-1 0
main 0
main 1
Thread-0 1
Thread-1 1
Thread-1 2
Thread-0 2
main 2
Thread-1 3
Thread-0 3
Thread-1 4
Thread-0 4
Thread-0 5
Thread-1 5
Thread-0 6
Thread-1 6
Thread-1 7
Thread-0 7
Thread-0 8
Thread-1 8
Thread-1 9
Thread-0 9
Thread-1 10
Thread-1 11
main 3
Thread-1 12
main 4
main 5
Thread-1 13
main 6
Thread-1 14
Thread-1 15
main 7
Thread-1 16
main 8
Thread-1 17
main 9
Thread-1 18
Thread-1 19
老师,我在线程A里面运行线程B,然后再主线程里面联合线程A,我觉得结果应该是,主线程和A线程交替运行到联合的地方,然后线程A和线程B交替运行,再运行完主线程。可是为什么结果是上面这样子
老师这是我在网上搜的限定String是汉字、数字和字母的正则表达式
String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
您可以帮忙解释一下这里的^ $是什么作用吗?
这是我根据网上搜到的写的限定姓名是字母和汉字,长度为{1,10}
String regex = "^[a-zA-Z\\u4e00-\\u9fa5]{1,10}$";
您可以帮我看一下,这样写有错吗?
想问下Arraylist为null或者size为0的问题:
如果
List<String> s = new ArrayList<>();
那么此时,s是否就不是null,但是s.size()为0?
我不是很懂,什么时候判断一个变量为null。只要new了一个新对象,那么这个变量就不是null了吗?
老师toString方法可以这样写吗
return "序号:"+this.id+"#\t"+"姓名:"+this.name+"\t\t"+"年龄:"+this.age+"\t\t"+ "性别:"+this.sex+"\t\t"+"电话号码:"+this.telNum+"\t\t"+"住址:"+this.address;
不太明白为什么之前课里的toString都是直接retrun,在这里要使用StringBuffer,是有什么特殊作用吗?
老师您好,这个IO包最新版本的已经到了2.11.0了,我是需要下载最新版本的还是用视频中的这个版本的呢
老师这里递归结束时的parent=null会添加到list中吗?如果不会是为什么?
老师,请问如果是在数组中已有元素下的链表中加一个Node,size也是+1么,那这个size是表示结点数大小么
老师,这是我创建的一个在指定位置添加元素
// 校验index合法性 0<=index<=size private void checkIndex02(int index){ if(!(index >=0 && index <= this.size)){ throw new IndexOutOfBoundsException("index:"+index+" size:"+size); } } // 指定位置添加元素 private void LinkIndex(int index,E element){ // 检验index合法性 0=<index<=size this.checkIndex02(index); // 如果index == size 元素添加至尾部 if(index == size){ this.LinkLast(element); } else if(index == 0){ // index==0 元素添加至头部 this.LinkFirst(element); } else { Node<E> node = this.getNode(index); // 获取指定位置节点 Node<E> temp = new Node<>(node.prev,element,node); // 创建新节点,位于node前面 node.prev = temp; node.prev.next = temp; //node节点的前一节点指向temp } // 记录元素个数 this.size++; } // 将节点对象元素添加到双向链表头部 private void LinkFirst(E element){ Node<E> head = this.head; Node<E> node = new Node<>(null,element,head); this.head = node; if(head == null){ this.tail = node; } else { head.prev = node; } // 记录元素个数 this.size++; } // 将节点对象元素添加到双向链表尾部 LinkLast private void LinkLast(E element){ // 获取尾节点 Node<E> t = this.tail; Node<E> node = new Node<>(t,element,null); this.tail = node; if(t == null){ this.head = node; } else { t.next = node; } // 记录元素个数 this.size++; } // 指定位置添加元素 public void addIndex(int index,E element){ this.LinkIndex(index,element); }
测试后运行时正常的,您帮我看看有没有问题,谢谢
老师,我想问下,这个括号里的第一个字符“-”是什么意思
if(node.prev == null){ this.head = node.next; } else { node.prev.next = node.next; } if (node.next == null){ this.tail = node.prev; } else { node.next.prev = node.prev; }
老师视频了两个if else语句和这样写有什么区别
if(node.prev == null){ this.head = node.next; } else if(node.next == null){ this.tail = node.prev; } else { node.next.prev = node.prev; node.prev.next = node.next; }
老师,请问这里写的时候不用加flush语句吗?
在视频中在定义一个输入输出流的时候都是使用的try catch,不可以将这个异常直接抛出吗
Lambda 规定接口中只能有一个需要被实现的方法,不是规
定接口中只能有一个方法,但是视频里的那个有一个 predicate isequal () ,还有一个Boolean test() ,这不是两个了么??为什么依然可以用lambda表达式
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637