首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java 】包装类详解:从基本概念到实战技巧

比较、算术等 下面以 int 类型为例: Integer j = new Integer(8); // 定义一个 Integer 包装类对象,值为8 int m = j.intValue(); // 手动拆箱...s):将字符串参数转换为对应的Double包装类,然后可以自动拆箱为double基本类型 注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException...在Integer对象创建过程中: 如果传入value数值在-128~127范围内,那么所有在这个范围内被创建的对象(句柄)实际都指向同一个地址,即被预创建Integer对象所在的地址。...如果传入value数值不在范围内,那么每次被创建的对象(句柄)都指向一个新的且不同的地址,即通过new关键字由JVM分配的新地址。....°★* 】那么本篇到此就结束啦,如果我的这篇博客可以给你提供有益的参考和启示,可以三连支持一下 !!

12510

C# .NET面试系列一:基础语法

多个线程可以同时读取一个字符串对象而不会引起问题。StringBuilder 不是线程安全的。如果多个线程同时尝试修改同一个 StringBuilder 实例,可能会引发竞态条件。...当需要从引用类型中获取值类型的值时,需要进行拆箱。拆箱将引用类型中的值复制到一个新的值类型变量中。拆箱发生在将装箱后的对象赋值给值类型变量的情况下,或者当从 object 类型中获取值类型的值时。...委托(Delegate)是一种类型,它表示对一个或多个方法的引用。委托可以看作是函数指针的一种类型安全的封装,它允许将方法作为参数传递给其他方法,或者将方法赋值给委托变量。....如果一个整数是2的N次方,那么它的二进制表示中只有一个1,例如,2、4、8、16等。...如果一个数是2的N次方,那么它的二进制表示中只有一个1,而且将这个数减去1后,所有的低位都会变为1,高位不变。因此,它们的按位与操作结果应该为0。14.

24510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2022年最新Python大数据之Python基础【七】参数与管理系统

    print(max1(-1, -2, -5)) 关键字不定长参数(**kwargs):将多余的关键字 参数,打包为一个字典,保存在kwargs当中 # 关键字不定长参数,可以接收多个未定义参数的关键字赋值...,不能在关键字赋值之后 # sum1(a=1, 2) # 结论,调用参数时,先使用顺序赋值,后使用关键字赋值 3、组包和拆包 组包:将多个数据,组合为一个容器类型,进行使用或变量保存 拆包:将一个容器类型...,进行拆分,其中的每一个元组赋值给其他的变量 # 组包:就是讲多个值进行组合,打包为一个容器类型的过程 # 拆包:就是讲一个容器类型,拆分成多个数据,分别赋值给多个变量的过程 # 组包 def func1...# 将多个数据打包整合为一个容器,赋值给变量,这个就是组包过程 a = 1, 2, 3, 4 print(a) # 拆包(解包) # 将等号右侧的列表,拆分为四个数据元素,分别赋值给a,b,c,d这个过程就是拆包...a = 1 b = 2 # 需求:将a, b进行互换值 # 这个互换过程,是先讲a,b的值提取出来,组包为一个元组,然后进行拆包,将元组内的两个数据分别赋值给,a,b变量 a, b = b, a print

    62510

    手撕Python之序列类型

    索引的使用 当我们有一个数据的时候,我们怎么将这个数据存储到程序呢? 我们定义一个变量,将数据存储在变量中 那么如果有100个数据呢?要定义100个变量吗?...,那么就是删除最后一个 #[1, 2, 3, 1, 2, 3, 4,] 我们不指定索引值的话,那么默认就是将最后一个元素删除掉 2.列表.remove(元素) 删除列表中指定的值(如果存在多个的话我们是只能删除最前面的这个值...将元组转换为列表,进行修改,再转换回元组 li[0]='12' t=tuple(li) print(t) #('12', 2, 3, 4, 5) 元组的拆包 元组可以同时赋值给多个变量,只要变量个数不超过元组长度...,变量前面加上* 号则可以将多于元素都接受,并组成一个列表 元素和变量个数要一致,不然会出现报错的 #拆包的过程:将元组拆开,将里面的元素分配给左边的变量 a,b,c=(1,2,3) print(a,b...,都是返回一个新的字符串 如果需要修改字符串,我们需要调用字符串内置的方法并且重新赋值 replace 方法是字符串修改常用的方法,可替换原字符串中的字符,但是并不会修改原字符,只是会返回一个新的对象,

    12310

    每天 3 分钟,小闫带你学 Python(二十一)

    学习目标 1.掌握函数的4种类型,了解其使用场景。 2.熟悉函数嵌套的执行顺序。 3.掌握拆包与交换变量的值。 1.函数的4种类型 根据是否有参数以及是否有返回值,可以将函数大体分为四种类型。...3.拆包与交换变量的值 3.1 拆包 此处的拆包并非是 CF 中的 C4 炸弹,而是将多个元素的集合,拆分成一个个元素的情况。...mytuple = (1, 2, 3, 4) a,b,c,d = mytuple print(a) print(b) print(c) print(d) 执行结果为: 1 2 3 4 经过拆包操作,可以看到元组内部的元素已经分别赋值给了...3.1.2 应用 前面讲到,一个函数如果有多个返回值,但是在调用函数后,使用一个变量进行接收返回值,会发现变量是一个元组,如果想使用内部的元素,可以进行拆包操作: def getinfo():...3.2 交换变量的值 假设有两个变量 a 和 b,如果想要交换两者的值,怎么办?

    66720

    面向对象(四)-值类型与引用类型详解

    (单独定义的时候放在栈中) 引用类型 需要两段内存:第一段存储实际的数据,它总是位于堆中,第二段是一个引用,指向数据在堆中的存放位置 当我们使用引用类型赋值的时候,其实是赋值的引用类型的引用。...如果数组是一个值类型的数组,那么数组中直接存储值,如果是一个引用类型的数组(数组中存储的是引用类型),那么数组中存储的是引用(内存地址)。 ?...当在方法中修改参数时,那么调用方传递过来的那个变量的值也会被改变。在将要调用的方法的参数中,如果有ref修饰的参数,那么该参数需要在传递之前初始化。...当在方法中修改参数时,那么调用方传递过来的那个变量的值也会被改变。在将要调用的方法的参数中,如果有out修饰的参数,那么该参数可以不需要在传递之前初始化。...out则是内部为外部变量赋值,一般用在函数有多个返回值的场所 ---- 3、值类型与引用类型的传递 方法的值传递 public static void GetValue(int number)

    98420

    【译】.NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱

    例如:声明语句 Class1 cls1; 其实并没有为Class1的实例分配内存,它只是在栈上为变量cls1创建了一个引用指针(并且将其默认职位null)。...如果你观察足够仔细,基元数据类型并不复杂,他们仅仅保存像 ‘int i = 0’这样的值。对象数据类型就复杂了,他们引用其他对象或其他基元数据类型。...换句话说,他们保存其他多个值的引用并且这些值必须一一地存储在内存中。对象类型需要的是动态内存而基元类型需要静态内存。如果需求是动态内存的话,那么它将会在堆上为其分配内存,相反,则会在栈上为其分配。...当我们将一个int类型的值赋值到另一个int类型的值时,它实际上是创建了一个完全不同的副本。换句话说,如果你改变了其中某一个的值,另一个不会发生改变。于是,这些种类的数据类型被称为“值类型”。...而且,这个值也会因为循环次数的增加而增加。也就是说,我们要尽量避免装箱和拆箱操作。在一个项目中,如果你需要装箱和装箱,请仔细考虑它是否是绝对必不可少的操作,如果不是,那么尽量不用。 ?

    36120

    【Java面试总结】Java基础(上篇)

    形式上:字符常量是单引号引起的一个字符;字符串常量是双引号引起的若干个字符 含义上:字符常量相当于一个整型值(ASCII 值),可以参加表达式运算;字符串常量代表一个地址值(该字符串在内存中存放的位置)...但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。...在 Java 中定义一个不做事且没有任何参数的构造方法的作用 Java 程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。...因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。...默认值不一样 局部变量:没有默认值,如果想要使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 内存的位置不一样 局部变量:位于栈内存 成员变量,位于堆内存。

    55530

    JAVA自动拆装箱、equals与==比较

    一.自动拆装箱 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。...(举个例子) 装箱:将基本类型转换成包装类对象 int i=10; Integer x=new Integer(i);手动装箱 Integer y=10;自动装箱 拆箱:将包装类对象转换成基本类型的值...当两个操作数都是包装器类型的变量时,判定标准为他们是否指向同一个对象;而如果其中有一个操作数是表达式(即包含算术运算)则会先进行自动拆箱,再进行对应基本类型变量比较。...声明赋值语句是java中唯一不需要new 就可以产生对象的途径,即当声明一个变量后,JVM会在常量池中先查找有有没有一个值相同的对象,如果有,就会把它赋给当前引用.即原来那个引用和现在这个引用指点向了同一对象...,如果没有,则在常量池中新创建一个,即以声明赋值的变量,只要值相等,任何多个引用都指向同一对象 ”==”比”equal”运行速度快,因为”==”只是比较引用.

    41010

    python题目 1000: 简单的a+b

    这可以通过将输入字符串拆分成多个子字符串来实现,然后将这些子字符串转换为整数。我们可以使用 split() 方法来拆分字符串,使用 int() 函数来将子字符串转换为整数。...用于将拆分后的字符串列表中的每个子字符串转换为整数类型。 最终,这一行代码的目的是从用户输入中读取一行文本,然后将其拆分成多个整数,并将这些整数赋值给变量 a 和 b。...这是一种常见的方式来处理从用户输入中读取一组空格分隔的整数。例如,如果用户输入 "10 20",那么 a 将被赋值为 10,b 将被赋值为 20。...用户输入:5 10 a = 5 b = 10 例子2: 如果用户输入了 "15 30",代码执行后,变量 a 将被赋值为整数 15,变量 b 将被赋值为整数 30。...用户输入:15 30 a = 15 b = 30 例子3: 如果用户输入了 "42 7",代码执行后,变量 a 将被赋值为整数 42,变量 b 将被赋值为整数 7。

    32010

    如何在 LinuxUnix 中永久设置 $PATH

    问题 在 Linux 上,我如何将一个目录添加到 $PATH 中,以便在不同的会话中持续有效? 背景: 我正尝试将一个目录添加到我的路径中,以便它将始终在我的 Linux PATH 中。...实际的解决办法取决于用户意图。 环境变量值通常存储在一个赋值列表中或是在系统或用户会话开始时运行的 shell 脚本中。.../etc/environment.d/*.conf:唯一赋值列表。用途同上。配置可以拆分成多个文件,通常每个工具(如 Java、Go 和 Node.js)一个文件。...在这里定义的变量对每一个 X 应用程序都是可见的。非常适合扩展 PATH,如加入 ~/bin 或 ~/go/bin 或者定义用户特定的 GOPATH 或 NPM_HOME。...由处于非登录模式的 shell 使用。 如果你主要使用一个特定的 shell(如 bash、zsh 等),那么你可以在这个文件中为该 shell 进行个性化设置,而不影响其他 shell。

    9210

    Java基础八股文第一弹

    Java 通过虚拟机从而实现跨平台特性, C++ 依赖于特定的平台。 Java 没有指针,它的引用可以理解为安全指针,而 C++ 具有和 C 一样的指针。...值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。 引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。...拆箱:将包装类型转化为基础类型。...当基础类型与它们的包装类有如下几种情况时,编译器会自动帮我们进行装箱或拆箱: 赋值操作(装箱或拆箱) 进行加减乘除混合运算 (拆箱) 进行>、拆箱) 调用equals进行比较(装箱)...为什么是final的? 线程安全。同一个字符串实例可以被多个线程共享,因为字符串不可变,本身就是线程安全的。 支持hash映射和缓存。

    98710

    新手怎么学JS?JavaScript基础入门

    我们可以把变量理解为是一个代名词或者说叫做临时的容器。 我们可以把一个具体的值存入到变量中。那么此时这个变量就代表着我们这个具体的值。...10变成了20,在重新存储的过程中,我们并没有使用var,那么上面的代码就相当于我们将20的值存储到之前创建的变量a中。...如果在重新存储数据的过程中,没有在变量名前面加var,那么相当于是更改变量a中存储的值,而如果前面加了var,则相当于重新的创建了一个变量a,并且存储了20这个数据。...当我们在一些需要传递值的地方,如果我们没有值进行传递,那么就可以传递一个null,表示传递的值为空。 undefined Undefined类型当中只有一个值就是undefined。...为了把一个值赋给多个变量,可以以链式使用赋值运算符。 加赋值 加赋值运算符把一个右值与一个变量相加,然后把相加的结果赋给该变量。两个操作数的类型决定了加赋值运算符的行为。

    2.5K70

    【剑指 Java】第 1 弹:靠这份 Java 基础知识总结,我拿到了满意的 Offer

    代表的是一个地址值; 1.2 引用类型 数据类型 默认值 数组 null 类 null 接口 null 1.3 封装类 基本数据类型都有其对应的封装类,两者之间的赋值通过 自动装箱 和 自动拆箱 来完成...; 自动装箱:将基本数据类型装箱为封装类; // 实际调用 Integer.valueOf(12) Integer x = 12; 自动拆箱:将封装类拆箱为基本数据类型; Integer x = 12;...= B) 为真。 > 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。 的值是否小于右操作数的值,如果是那么条件为真。 (A 为真。...>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。 的值是否小于或等于右操作数的值,如果是那么条件为真。 (A 为真。...; 多态 多态是允许 将父对象设置为和一个或多个其子对象相等的技术,赋值后,父对象能够根据指向的子类对象的特性以不同方式运作,即 父类引用指向子类对象实例,有 重载和重写 两种实现方式。

    49620

    Python基础

    ’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表 string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 字符串的切片 切片...hash算法后返回一个整数 接收一个不可变类型作为参数 global(item) 在函数中修改全局变量 注意 字符串 比较符合以下规则: “0” < “A” < “a” 如果变量已经被定义,当给一个变量赋值的时候...应用场景 在 迭代遍历 嵌套的数据类型时,例如 一个列表包含了多个字典 需求:要判断 某一个字典中 是否存在 指定的 值 如果 存在,提示并且退出循环 如果 不存在,在 循环整体结束 后,希望 得到一个统一的提示...: 将一个 元组变量,直接传递给 args 将一个 字典变量,直接传递给 kwargs 就可以使用 拆包,简化参数的传递,拆包 的方式是: 在 元组变量前,增加 一个 * 在 字典变量前,增加 两个 *...计算任意多个数字的和 定义一个函数 sum_numbers,可以接收的 任意多个整数 功能要求:将传递的 所有数字累加 并且返回累加结果 def sum_numbers(*args): num = 0

    1.4K30

    基本数据类型包装类

    2、包装类常用方法 从源代码的角度来看,基础类型和包装类型都可以通过赋值语法赋值给对立的变量类型,如下面的代码所示。...但是,Java作为一种强类型的语言,对象直接赋值给引用类型变量,而基础数据只能赋值给基本类型变量,这个是毫无异议的。那么基本类型和包装类型为什么可以直接相互赋值呢?...3.1、装箱 装箱就是java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱。...自动装箱时编译器调用valueOf()将原始类型值转换成对象。...3.2、拆箱 拆箱就是java自动将对应的对象转换成原始类型值,比如将Integer对象转换成int的变量,这个过程叫做拆箱 自动拆箱时,编译器通过调用类似xxxValue()这类方法(如:intValue

    80710

    嵌入式链接脚本(LINK SCRIPT)介绍

    你也可以使用的连接脚本>以增加自定义的链接命令. 以下没有特殊说明,连接器指的是静态连接器. . 基本概念 链接器把一个或多个输入文件合成一个输出文件....符号值: 每个符号对应一个地址, 即符号值(这与c程序内变量的值不一样, 某种情况下可以把它看成变量的地址). 可用nm命令查看它们. 3....如果没有该选项且有REGION选项,那么连接器将根据REGION设置VMA;如果也没有REGION选项,那么连接器将根据定位符号‘.’的值设置该section的VMA,将定位符号的值调整到满足输出section...FILENAME文件名,可以是一个特定的文件的名字,也可以是一个字符串模式。...当FILENAME是一个字符串模式时,连接器仅仅只查看它是否在连接命令行内出现。 注意:如果连接器发现某文件在INPUT命令内出现,那么它会在-L指定的路径内搜寻该文件。

    2.4K40

    Java 中的变量类型、拆箱装箱及相互间的转换

    = i IEEE 754 浮点算术保留了一个特殊的值用来表示一个不是数字的数量:NaN(Not a Number),用于表示没有良好的数字定义的浮点计算,如0.0/0。...任何浮点操作,只有它的一个或多个操作数为 NaN,其结果必然是 NaN,显然 NaNcy 与任何数比较结果均返回 false。...类在初始化时,生成了一个-128-127的Integer类型的常量池,如果值在此范围内则不会再生成新的对象 //逻辑表达式(e == f)为falsed,理由同上 一个 String 的例子 这样就不难理解...String 对象 “abc”,然后将 s1 指向这个内存地址,以后在创建值为 “abc” 的字符串对象,始终只有一个内存地址被分配,其余的都是 String 的拷贝。...逻辑表达式s1 == s5为 true,逻辑表达式s1 == s6为 false 因为将一个字符串连接表达式赋给字符串变量时,如果这个字符串连接表达式的值可以在编译时就确定下来,那么 JVM 会在编译时确定字符串变量的值

    53140
    领券