工具类语句 包装类

本文详细解析了Java中==与equals的区别,包括它们如何用于基本数据类型和引用类型比较,并介绍了包装类的基本使用方法,如创建、转换及常用属性和方法。

一.工具类语句

1.equals 比较两个对象的引用值是否相同

		Object obj1 = new Object();
		Object obj2 = new Object();
		System.out.println(obj1.equals(obj2));//比较obj1和obj2的值是否相同 因为是对象 所以储存的是不同的地址 所以结果false

 ==和equals的区别(面试题)

 ==可以比较基本数据类型也可以比较引用数据类型比较基本类型比较的是值 比较引用数据类型比较的是地址值

 equals不能比较基本数据类型 只能比较引用数据类型 重写之前比较的是地址 重写之后比较的是内容

        //==和equals的区别
        Object obj1 = new Object();
		Object obj2 = new Object();
		System.out.println(obj1 == obj2);//比较地址 false
		System.out.println(obj1.equals(obj2));//比较地址 false
		
		Person p1 =  new Person("张三", 18, 1);
		Person p2 =  new Person("张三", 18, 1);
		System.out.println(p1 == p2);//false
		System.out.println(p1.equals(p2));//false  重写object父类中的equals方法后比较的是内容所以结果变为true
		

2.hashCode 返回十进制整数,唯一标识一个对象

		System.out.println(obj1.hashCode());
		System.out.println(obj2.hashCode());
//204349222
//231685785

3.toString 返回类名@hashCode hashcode是十六进制 

		System.out.println(obj1.toString());
		System.out.println(obj2.toString());
//java.lang.Object@c2e1f26
//java.lang.Object@dcf3e99

二.包装类:针对基本数据类型的包装类是将基本数据类型的首字母变大写,除了 int char

A.包装类常用属性 直接类名. 调用

1.MIN_VALUE最小值 MAX_VALUE最大值

System.out.println(Byte.MIN_VALUE+","+Byte.MAX_VALUE);
//-128   127

B.包装类常用方法 直接类名. 调用

1.Character.isDigit('');判断字符是否为数字

		boolean a = Character.isDigit('c');
		System.out.println(a);//false
		System.out.println(Character.isDigit('1'));//true

2.Character.isLetter('');判断字符是否为字母


		System.out.println(Character.isLetter('c'));//true

3.Character.isLowerCase('');判断字符是否为小写字母

System.out.println(Character.isLowerCase('c'));//true

C.基本数据类型转换为包装类

1.通过构造器转换

		int b = 10;
		Integer b1 = new Integer(b);
		System.out.println(b1+1);//11

2.字符串转换为包装类     注意:字符串不能通过以下两种方法转换为Character

        2.1字符串通过构造方法转换为包装类

		String s = "500";
		String b2 = new String(s);
		System.out.println(b2+1);//5001

        2.2字符串通过包装类的valueof转换为包装类 valueof只能转换为integar

        String s = "500";
		Integer b3 = Integer.valueOf(s);
		System.out.println(b3);//500

D.包装类转换为其他类型 

1.包装类通过xxxvalue()方法转换

		Integer i = new Integer(100);
		int i2 = i.intValue();
		System.out.println(i2);//100

2.包装类型通过toString()转换为字符串

        Integer i = new Integer(100);
		String s2 = i.toString();
		System.out.println(s2);//输出的是字符串类型的100

3.字符串通过parsexxx()方法转换为基本数据类型

		Integer i = new Integer(100);
		String s2 = i.toString();
        int i3 = Integer.parseInt(s2);
		System.out.println(i3);//输出的是整数类型的100

E自动拆装箱

装箱是指基本数据类型-->包装类型

拆箱是指包装类型-->基本数据类型

		int i4 = 20;
		Integer i5 = i4;   //基本数据类型转换为包装类类型  自动装箱
		i4 = i5;  //包装类型转换为基本类型 自动拆箱
		

例题:从控制台得到字符串作为整数,判断该字符是否能转换为数字

	public static void main(String[] args) {
		
		System.out.println("请输入一个字符串内容");
		String s = new Scanner(System.in).next();

		try {
			//字符串转换为数字
			Integer s1 = new Integer(s);
			if(s1 instanceof Integer) {
				System.out.println("可以转换为数字");
			}
		}catch(Exception e) {
			System.out.println("输入不为数字字符串不可转换");
		}
		

	}

内容概要:本文围绕基于模型预测控制(MPC)与滚动时域估计(MHE)集成的目标点镇定方法展开深入研究,重点探讨其在六自由度机械臂系统中的应用,并提供了完整的Matlab代码实现。研究充分结合MPC的多步预测、滚动优化与反馈校正能力,以及MHE对系统内部状态的高精度在线估计优势,构建了协同工作的闭环控制架构,实现了复杂非线性系统下对目标点的高精度、强鲁棒性镇定控制。文中系统阐述了MPC预测模型的建立、代价函数的设计、状态与输入约束的处理机制,以及MHE基于优化准则进行状态估计的实现流程,详细展示了算法的整体设计思路、数值实现步骤与仿真验证过程。通过仿真实验验证了该集成策略在抑制外部干扰、补偿模型不确定性方面的优越性能。此外,资源还整合了多种先进控制技术与优化算法的仿真案例,涵盖机器人、电力电子、智能交通等多个领域,为科研人员提供丰富的算法复现与工程参考资源。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事自动化、机器人、电力电子、智能系统等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并掌握MPC与MHE联合控制策略的设计原理与代码实现方法;② 应用于机械臂、无人机、智能车辆等复杂系统的高精度运动控制与状态估计任务;③ 为科研论文复现、工程项目开发及先进控制算法的优化改进提供可运行、可调试的代码基础。; 阅读建议:建议结合文中的算法理论描述与Matlab代码进行同步研读,重点关注MPC中预测模型构建、权重矩阵整定、约束处理以及MHE状态估计的优化求解实现细节,鼓励在仿真环境中动手调试参数,有条件的情况下可进一步在实际物理系统或高保真模型中进行验证与性能评估。
内容概要:本文研究了基于自适应状态相关黎卡提方程(SDRE)的非线性无传感器速度控制方法在永磁同步电机(PMSM)驱动系统中的应用,并通过Simulink进行仿真验证。该方法摒弃传统机械传感器,构建高精度非线性状态观测器,结合自适应SDRE控制器实现对电机转速与位置的实时估计与闭环控制,有效克服系统参数摄动、外部负载扰动及建模不确定性带来的影响。研究重点在于设计具备在线调节能力的状态反馈增益机制,通过求解时变的代数黎卡提方程实现动态最优控制律,从而在宽速域范围内,尤其是在低速与零速工况下,显著提升速度跟踪精度、系统鲁棒性与动态响应性能。仿真结果充分验证了该控制策略在抑制转速波动、加快响应速度、增强抗干扰能力以及保障系统稳定性方面的优越性,为高性能PMSM无传感器驱动提供了先进的技术解决方案。; 适合人群:电气工程、自动化、电机与控制相关专业的研究生、科研人员及从事PMSM驱动系统开发的工程技术人员。; 使用场景及目标:①应用于对可靠性与维护成本敏感的高精度工业驱动系统,如精密机床、电动汽车、航空航天设备中,替代传统依赖速度传感器的控制方案,降低系统成本与故障率;②为先进无传感器控制算法的研究与教学提供坚实的理论依据与可复现的仿真范例;③支持研究人员深入探索非线性控制理论、自适应观测器设计、最优控制策略在电机驱动领域的深度融合与实践验证。; 阅读建议:建议读者结合提供的Simulink模型进行同步仿真运行,深入剖析SDRE控制器的状态空间建模过程、雅可比矩阵线性化处理方法以及Riccati方程求解器的实现细节,重点关注系统稳定性证明与收敛性分析,同时可将其与滑模观测器(SMO)、扩展卡尔曼滤波(EKF)等主流无传感器技术进行对比研究,以全面评估其性能优势与适用边界。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值