java基础
java基础
jay编程
这个作者很懒,什么都没留下…
展开
-
java的list中容易出现的错误
标题:java的list中容易出现的错误区分:下面两种,第一个是删除list中的第一个元素2,第二个是删除list中的下标2号位对应的元素list.remove((Object)2);list.remove(2); ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(3); list.add(2); list.ad原创 2022-03-18 15:10:06 · 467 阅读 · 0 评论 -
Java中输入学生信息,传到文件中,再从文件 中读取,EOFException,invalid type code: AC解决办法
标题:Java中输入学生信息,传到文件中,再从文件 中读取,EOFException,invalid type code: AC解决办法1.使用ObjectOutputStream,Student需要序列化,也就是implements Serializable接口2.Java中实现排序的视频:添加链接描述3.Java中scanner视频:添加链接描述4.Java中流的视频:添加链接描述p116,看完就会了,完整代码:package com.sxt.io3;import java.io.原创 2022-03-03 11:04:28 · 375 阅读 · 0 评论 -
Maven中junit.framework.AssertionFailedError: Could not create test ‘test022‘
标题:Maven中junit.framework.AssertionFailedError: Could not create test ‘test022’一、问题二、解决1)2)自己选择合适的JUnit版本>应用>运行【不知道的话,可以都试一下】原创 2020-08-28 10:54:56 · 368 阅读 · 0 评论 -
junit5 @BeforeClass、@AfterClass、@Before、@After不执行
标题:junit5 @BeforeClass、@AfterClass、@Before、@After不执行@BeforeClass------->@BeforeAll;@AfterClass---------->@AfterAll;@Before--------------->@BeforeEach;@After------------------>@AfterEach;链接如下:完整blog转载 2020-07-03 11:44:16 · 497 阅读 · 0 评论 -
eclipse中使用Junit进行测试
标题:eclipse中使用Junit进行测试一、推荐方式三,点中带有@Test的方法,再按alt+shift+d,此后再按 t 即可方式一:选中需要执行的带有@Test的方法,点击运行方式,点击Junit方式二、选中要执行的带有@Test的方法,再按alt+shift+d,此后再按 t 即可方式三、点中带有@Test的方法,再按alt+shift+d,此后再按 t 即可...原创 2020-07-03 11:32:25 · 896 阅读 · 0 评论 -
java实现将Long变成Integer
标题:java实现将Long变成Integer原创 2020-12-19 11:38:43 · 1050 阅读 · 2 评论 -
Java实现生成 -30~+30的随机数
标题:Java实现生成 -30~+30的随机数原创 2020-12-17 17:50:56 · 1066 阅读 · 0 评论 -
Java中创建、使用异常类
标题:Java中创建、使用异常类一、步骤一注意要继承超类java.lang.Exception的构造函数,得到如图所示的代码:/** * 自定义异常 * @author dell * */public class StudentNoExistException extends Exception { public StudentNoExistException() { // TODO 自动生成的构造函数存根 } public StudentNoExistException(S原创 2020-07-08 11:31:53 · 620 阅读 · 0 评论 -
补码,反码的运算
标题:补码,反码的运算原创 2020-11-24 19:36:50 · 189 阅读 · 0 评论 -
演示Java中的有无static修饰的方法,变量
标题:演示Java中的有无static修饰的方法,变量 * 这个类里面的方法访问类中的实例变量,需要创建一个对象才能访问【可以访问private修饰的,因为在一个类中】 * 用static修饰的方法, 里面不能出现this, * 所以访问非static修饰的方法,实例变量,需要创建一个变量进行 * 访问static修饰的方法,类变量,【默认有一个类名.】,可以省略类名 * 没有static修饰的方法, * 里面直接访问这个类中的没有static修饰的方法,实例变量原创 2020-11-20 11:42:42 · 358 阅读 · 0 评论 -
测试Java中的long,int基本类型,以及比较
标题:测试Java中的long,int基本类型@Test public void test02() { int a = -2147483648;// int a = -2147483649;// int 的文字 2147483649 超出了范围// long b = -2147483649;// int 的文字 2147483649 超出了范围 important long b = -2147483649L; long c = -2147483648 - 1; //c: 214原创 2020-11-19 19:33:57 · 2414 阅读 · 0 评论 -
java测试List的toString方法
标题:java测试List的toString方法一.Java中使用List,1)eg:LinkedList之类的,toString方法,实际在AbstractCollection类中,注意:那里面的toString方法调用了StringBuilder类中的append方法,2)而这个方法,调用了String类方法中的valueOf, obj.toString();3)若我们重写了List中的元素TreeNode中的toString方法,则调用list.toString()–》该方法是多次调用ap原创 2020-11-10 22:58:20 · 3490 阅读 · 0 评论 -
Java中整型和字符型的相互转换
标题:Java中整型和字符型的相互转换/** * 将一个int -->char * char -->int * @author dell * */public class TestIntToChar { /** * int --> char */ @Test public void test() { int a = 253; String aStr = String.valueOf(a); char[] arry = aStr.toCharA原创 2020-09-29 20:00:49 · 951 阅读 · 0 评论 -
Java中的深,浅clone,序列化
标题:Java中的clone参考链接:Java中clone详解一、clone有两种方法实现接口Cloneable,使用super.clone();实现接口Serializable,使用序列化二、对于方式一的实现对于方式一:实现接口Cloneable,使用super.clone();分为浅克隆,深克隆两种浅克隆指的是:克隆一个对象时,开辟一块空间。若它的字段包含对象的引用,则不会为该字段【对象的引用】新开辟另一块空间,将值复制后再将引用返回给该字段。实现方式: 【Person需要实原创 2020-09-20 18:27:59 · 185 阅读 · 0 评论 -
Java手写通用型链表,同时可以使用迭代器,foreach
标题:Java手写通用型链表,同时可以使用迭代器,foreach一、首先可以看看使用Java实现一个链表的思想手写链表二、实现一个通用型的链表【使用泛型】原理:将之前节点的int info–>T info,即使得链表更加通用【使用了泛型类】注意:为什么不建议直接将int info–>Object info,原因:使用,Object info可以实现通用型链表,但链表里的类型可以不固定,使得结构混乱eg:LinkedList list=new LinkedList();list.原创 2020-09-20 14:55:43 · 275 阅读 · 0 评论 -
解析Iterator,Iterable,手写迭代器
标题:解析Iterator,Iterable,手写迭代器可以这样理解Iterator,Iterable:Iterable接口中,有方法iterator(),使用foreach就需要实现此接口*对于自己写的一个链表,若是没有实现此接口则会出现编译错误如下: for(Object in:myList) {//只能通过 java.lang.Iterable 的数组或实例进行迭代iterator接口中,有方法hasNext(),next()一、一个不使用Iterator,Iterable的迭代原创 2020-09-20 14:48:16 · 354 阅读 · 0 评论 -
Java手写双向链表
标题:Java手写双向链表1.声明链表的节点样式:class IntSNode{ public int info; public IntSNode prev; public IntSNode next; public IntSNode(int info) { this(info,null,null); } public IntSNode(int info,IntSNode prev,IntSNode next) { this.info=info; this.prev=prev;原创 2020-09-20 13:48:05 · 428 阅读 · 0 评论 -
使用Java,手写链表
标题:使用Java,手写链表1.首先声明节点的样式:class IntNode{ public int info; public IntNode next; public IntNode(int info) { this(info,null); } public IntNode(int info,IntNode next) { this.info=info; this.next=next; }}2.写一个类似LinkedList样式的链表class IntNodeList原创 2020-09-20 13:37:57 · 371 阅读 · 0 评论 -
Java中Object的equals方法,Java中不经意间的自动装箱
标题:Java中Object的equals方法,Java中不经意间的自动装箱下面解释了不经意间的自动装箱过程,关于为什么false,true,参见blog:区分Integer的==和equals System.out.println(man.id.equals(1000));//false System.out.println(man.id.equals(100));//true解释代码如下:public class TestEqualsObject { public static vo原创 2020-09-09 17:46:20 · 133 阅读 · 0 评论 -
LinkedList部分解析
标题:LinkedList部分解析一、解析对于如下LinkedList<Person>LinkedList<Person> list = new LinkedList<Person>();1)list.add(null);//只是使节点的某个值为null所以这样子添加没有问题2)System.out.println(list.contains(null));也只是使节点的某个值为null 源码中,当传入参数等于null时,contains中判断的是x.原创 2020-09-09 17:11:29 · 129 阅读 · 0 评论 -
区分Integer中的==和equals
标题:区分Integer中的==和equalsmain{ Integer a=100;//得到一个对象,实际上执行的是Integer.valueOf(100); 【也就是给Integer类的实例变量value赋值,见下面方法valueOf】 Integer b=100; // 因为a,b为引用,所以比较的是两者指向的对象是否是同一个 System.out.println("a==b"+(a==b));//true 因为100在-128~127之间,所以会直接从cache中取值,两次取100都原创 2020-09-09 15:33:35 · 149 阅读 · 0 评论 -
Java测试构造器,代码块,变量的初始化先后顺序包括静态的
标题:Java测试构造器,代码块,变量的初始化先后顺序包括静态的一、 构造器,代码块,变量的初始化先后顺序1.先为所有变量,创建空间,赋默认值【0,null等等默认值】2.按顺序初始化【变量、代码块的顺序初始化,谁在前面,谁先初始化】3.按构造器初始化eg:a=0,b=0;b=5->6 【因为代码块在int b的前面,所以先执行代码块,在执行b=6】b=8【执行构造器中的初始化】注意:此处的代码块中System.out.println(b);会编译出错,是因为b在int原创 2020-08-28 18:45:25 · 162 阅读 · 0 评论 -
Java中继承的赋值过程
标题:Java中继承的赋值过程1.先加载主类的最上层的父类【假设有多个父类的情况】,执行静态初始化动作再加载下层的父类,同上,直到加载完主类本例题是:eg:AA,HH,AboutExtends见输出如下:AA静态代码块中HH静态代码块中AboutExtends静态代码块中2.为此对象以及所有的父类对象分配空间【先父对象,默认创建子对象时,会为父类分配空间】,执行初始化成员变量动作【包括直接赋值,代码块,构造器(父类则看子类调用的是父类的哪个构造器)】,(若不清楚初始化的顺序可以参见原创 2020-08-29 11:10:37 · 1030 阅读 · 0 评论 -
在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap
标题:在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap第一步:第二步: 【即可】...转载 2020-07-16 10:58:28 · 951 阅读 · 0 评论 -
调整Jvm大小
标题:调整Jvm大小一、对于如图所示的代码public class TestJVM { public static void main(String[] args) { byte[] b=new byte[1024*1024*1024]; }}运行,显示如下:* 解决措施第一步第二步:输入参数-Xmx1025m,点击运行即可【即可解决,注意大小写,1025m比102410241024大,故使用此方式运行不会出错】...原创 2020-07-07 09:20:48 · 248 阅读 · 0 评论 -
Java中自定义枚举类,及枚举类的测试
标题:Java中自定义枚举类,及枚举类的测试一、自定义枚举类1)第一种自定义类来实现枚举类//第一种自定义类来实现枚举类class Grade{ //私有化构造器 private Grade() { } //创建类变量 public static final Grade A=new Grade(); public static final Grade B=new Grade(); public static final Grade C=new Grade(); public s转载 2020-07-03 16:30:14 · 595 阅读 · 0 评论 -
还在担心Java中list的java.lang.NullPointerException吗?
标题:还在担心Java中list的java.lang.NullPointerException吗?一、实例:可能生成一个对象,然后,list02[],值为空List<Ticket> list02 = new TicketService().getTicketByCarIdIdCardGrade(idCard, carId, grade);使得下面的if判断直接进入到了for-each中,造成空指针异常部分代码如下;List<Ticket> list02 = new Tic原创 2020-07-01 09:35:42 · 222 阅读 · 0 评论 -
在java中使用正则表达式简单的,入门的
标题:在java中使用正则表达式一、步骤:1.建立正则表达式,并启用相应模式Pattern p=Pattern.compile("\\d+");//建立正则表达式,并启用相应模式2.匹配字符串Matcher m=p.matcher(str);//匹配字符串 3.若找到了,则返回找到的满足条件的第一个字符串【可能有多个满足条件】if(m.find()) { return m.group(); }也可以【得到所有满足条件的字符串】 while(m.find())原创 2020-07-01 08:03:08 · 1010 阅读 · 0 评论 -
Java中的Scanner获取键盘输入时会遇到的问题
标题:Java中的Scanner获取键盘输入时会遇到的问题一、对于如下代码,获取键盘输入public class Test { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.print("请输入姓名:"); String username = scanner.nextLine(); System.out.print("请输入性别:"); Stri原创 2020-06-30 14:16:12 · 602 阅读 · 0 评论 -
不改变源代码的前提下,创建任意对象,执行任意方法,使用配置文件
标题:不改变源代码的前提下,创建任意对象,执行任意方法,使用配置文件/** * 使用配置文件完成 * 小测试,不改变源代码的前提下,创建任意对象,执行任意方法, * * java.lang.NoSuchMethodException: crazyjava.reflect.Person.setName([Ljava.lang.Object; * 说明方法写错了,或者形参传错了 * @author dell * */public class TestDemo032 { public原创 2020-06-15 11:01:07 · 214 阅读 · 0 评论 -
不改变源代码的前提下,创建任意对象,执行任意方法
标题:不改变源代码的前提下,创建任意对象,执行任意方法一、分析public static void test(String path,String methodName,Class<?>[] parameterTypes,Object...params)path–>完整类名【包名.类名】methodName–>要执行的方法Class<?>[] parameterTypes–>方法中形参的classObject…params–>方法中形参对应的实原创 2020-06-15 10:41:05 · 343 阅读 · 0 评论 -
eclipse中添加构建路径的方法
标题:eclipse中添加构建路径的方法一、方法一可以先在该项目下新建一个libs源文件夹,再将需要添加的jar架包复制粘贴到libs中,最后选中libs下需要导入的jar架包,右键点击添加到构建路径中即可二、方法二点击项目,右键,点击添加构建路径库下面,点击模块路径,点击添加外部jar,找到所需的后,点击应用,应用并关闭即可......原创 2020-06-13 09:18:07 · 5399 阅读 · 2 评论 -
jdbc:Before start of result set
标题:Before start of result set一、若没有写:resultSet.next();直接resultSet.getInt(1)就会报错二、解决方案,在ResultSet resultSet = statement.executeQuery(sql);后面加上resultSet.next();即可三、另外注意:String sql="select count(*) from admin where username='"+username+"' and password='"原创 2020-06-11 15:29:22 · 480 阅读 · 0 评论 -
使用jdbc时,Communications link failure
标题:Communications link failure若运行后,出现Communications link failure,可以试着启动数据库服务器;/** * 实例四, * @author dell * */public class TestDemoJDBC2 { public static void main(String[] args) throws Exception { /** * 方式二,使用反射【运行期间加载】加载驱动 * 优点1,不需要原创 2020-06-11 14:38:41 · 598 阅读 · 0 评论 -
Java,使用Iterator遍历容器Collection
标题:使用Iterator遍历容器Collection一、Iterator就是用来遍历的iterator.remove();//只能通过迭代变量的remove进行删除–>改变集合中的元素。在迭代过程中【或foreach中】,其它修改集合元素的操作将会引起异常str=“mm”;//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响/** * Iterator就是用来遍历的 * iterator.remove();//只能通过迭代变量原创 2020-06-11 09:32:50 · 258 阅读 · 0 评论 -
Java,使用Lambda表达式或匿名内部类遍历集合Collection及Map
标题:使用Lambda表达式或匿名内部类遍历集合Collection及Map一、 注意:遍历Set,List是使用list/set.forEach(new Consumer<String>()而Map是使用map.forEach(new BiConsumer<String,Integer>()/** * 使用Lambda表达式或匿名内部类遍历集合Collection及Map * 注意: * 遍历Set,List是使用list/set.forEach(new Cons原创 2020-06-11 09:30:20 · 563 阅读 · 0 评论 -
java中,类型通配符和泛型方法的比较
标题:java中,类型通配符和泛型方法的比较一、分析使用泛型方法public static <T> void copy(Collection<T> from,Collection<T> to)只能T–>T,不能String–>Object,【不推荐】*【推荐】 使用通配符和泛型方法结合public static <T> void copy02(Collection<? extends T> from,Collection<原创 2020-06-10 19:02:48 · 274 阅读 · 0 评论 -
Java,使用泛型,将任意类型的数组拷贝到任意类型的容器Collection中
标题:Java,使用泛型,将任意类型的数组拷贝到任意类型的容器Collection中一、分析不能实现。使用public <T> void copy(Collection<?> dest,T[] src)由于此处的dest只能取元素,不能添加,故实现不了将src中的内容添加到dest中可以实现。使用public static <T> void copy02(Collection<? super T> dest,T[] src)使用了通配符,泛型原创 2020-06-10 18:56:30 · 510 阅读 · 0 评论 -
解析Java泛型的类型通配符
标题:解析Java泛型的类型通配符一、版本一:List lists,只能传Shape的,不能是子类的版本二:List<?> lists,Object的子类都可以【不完美,我只想要Shape及子类可以调用】,不过要加上强制转换版本三:List<? extends Shape> lists,只有Shape及子类可以调用,不需要强制转换,因为发生多态注意:类型通配符上限 List<? extends Shape>,只能向list中取元素,不能添加类型通配符下限原创 2020-06-10 16:34:46 · 125 阅读 · 0 评论 -
使用list,map存储表格及输出
标题:使用list,map存储表格及输出一、分析list代表整个表格,表格的每一行为list的一个元素,每个list由表的最上行【name salary id date】和数据构成,也就是一个mapList<Map<String,String>> list=new ArrayList<>();/** * 测试存储表格 * @author dell * */public class TestDemo { public static void main(原创 2020-06-10 09:53:25 · 732 阅读 · 0 评论