老师,这里用的PrintWriter属于节点流还是处理流?好像既可以包装字节流,也可以直接填写文件地址呢?还有如果他是字符流的话,里面是字节流字符流都可以放嘛?
try catch 跟throws的区别能详细讲一下吗
if(c=='{'){ stack.push("}");
为什么c == ’{‘ 还要添加对应的 ’} ‘不是很理解
老师您好,我想请问 是否可以把Map中容器的元素理解为自带名字(键)的值?这个键的描述听起来很像下标啊
package com.dataStructure; /** * 自定义基于单向链表实现存储数据的容器 */ public class MySinglyLinkedList<E> implements MyList<E>{ private myNode head; private int size; /** * 创建一个单线链表中用于存储数据的节点类 * @param <E> */ class myNode<E>{ private E item; private myNode next ; public myNode(E item, myNode next) { this.item = item; this.next = next; } } private myNode<E> getTail (){ myNode h = this.head; if(this.head == null){ return null; } while (true){ if(head.next == null){ break; }else { h = h.next; } }return h; } /** * 根据下标获取节点的方法 */ private myNode getNode(int index){ myNode n = head; for (int i = 0 ; i < index; i++){ n = n.next; } return n; } /** * 校验下标合法性的方法 */ private void CheckIndex (int index){ if(this.head == null||index>=size||index<0){ throw new IndexOutOfBoundsException(); } } @Override /** * 添加元素的方法 */ public void add(Object element) { myNode node = new myNode<>(element,null); myNode tail = getTail(); if(tail == null){ this.head = node; }else { tail.next = node; } this.size++; } @Override /** * 删除元素的方法 */ public E remove(int index) { CheckIndex(index); myNode node = getNode(index); E item = (E)node.item; //找到后把这个元素的前一个的next挂到此元素后一个 if(node == this.head){//判断此节点是否是头结点 this.head = node.next; }else { for (int f = 0 ; f < index-1; f++){ getNode(f).next = node.next; } } this.size--; return item; } @Override /** * 获取元素的方法 */ public E get(int index) { this.CheckIndex(index); return (E) getNode(index).item; } @Override /** * 返回元素的个数 */ public int size() { return this.size; } } //新建测试类 package com.dataStructure; public class TestMySinglyLinkedList { public static void main(String[] args) { MySinglyLinkedList<String> mySinglyLinkedList = new MySinglyLinkedList(); mySinglyLinkedList.add("a"); mySinglyLinkedList.add("b"); mySinglyLinkedList.add("c"); mySinglyLinkedList.add("d"); mySinglyLinkedList.add("e"); mySinglyLinkedList.add("f"); System.out.println(mySinglyLinkedList.size()); System.out.println(mySinglyLinkedList.get(3)); System.out.println(mySinglyLinkedList.remove(5)); System.out.println(mySinglyLinkedList.size()); } }
我有两个疑问:1、我执行测试类的时候,报了空指针异常,不懂为什么;
2、为什么我初始化E类型的变量时,要让我强转为E类型?
老师,你好:
现在已经理解了守护线程的特点和生命周期。但是它到底守护了个啥???没有get到核心的点。
谢谢
燕
老师这个地方不是“-”或任意字符吗,我输入一个%就显示fasle了
IOjava.io.BufferedReaderjava.io.BufferedWriterjava.io.FileReaderjava.io.FileWriterFileCopyTool3 { (String[] args) { ()} (String srcString des){ BufferedReader br=BufferedWriter bw={ br=BufferedReader(FileReader())bw=BufferedWriter(FileWriter())String temp=((temp=br.readLine())!=){ bw.write(temp)bw.newLine()} bw.flush()}(Exception e){ e.printStackTrace()}{ { (br!=){ br.close()} (bw!=){ bw.close()} }(Exception e){ e.printStackTrace()} } } }
老师这个错误是为什么
老师这里的temp=“”为什么不是null
感觉这都是调用的Alive线程的啊,第一个返回false是因为new了一个对象,还没有 Alive线程的调用,而第二个是在Alive线程里面的,只要调用了就会返回true,第三个Alive线程还在活动状态,只是时间片轮询到了main线程,但Alive还是存活的,而第四个则是在主线程休眠时,Alive如果继续的话,在轮到主线程的时候已经结束了进入了死亡状态,所以返回false,老师,您看这样我理解对了吗?
boolean flag8 = a2.removeAll(b2);
老师这种必须加返回值吗
public void orderName() { Collections.sort(this.list, new OrderByName()); for (int i=0;i<this.list.size();i++){ (this.list.get(i)).setId(i+1); } }
this.list.get(i)的()不加的话是有可能会出错吗
老师,请问线程的联合和方法有什么区别吗?
Menu和TelNoteRegex 为什么不在Operate类中实例化,要在方法中实例化,有什么讲究吗
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637