当前位置: 首页 > news >正文

Java 基础面试300题 (231-260)

Java 基础面试300题 (231-260)

231 String::toUpperCase是什么类型的方法引用?

String::toUpperCase是任意方法引用的示例。它指的是String 类的toUpperCase方法,但不是指任何特定对象。 通常在遍历集合或流时使用。例如,假设想将列表的所有元素转换为大写。可以使用此String::toUppercase,如下所示:

List<String> colours = Arrays.asList(Red,Blue,Green);
List<String> upperCaseColours =
colours.stream().map(String::toUpperCase).collect(Collectors.toList());

232. 以下代码片段有什么问题?如何修复?

LocalDate date1 = LocalDate.of(2018, 7, 24);
LocalTime time1 = date1.atTime(5, 30);

上面的代码片段首先创建一个名为date1LocalDate,然后在date1上调用atTime()方法,并将结果分配给名为time1LocalTime对象,atTime()方法将当前时间对象中的日期与指定的时间相结合,返回一个LocalDateTime对象而不是LocalTime对象,因而上述代码会出现编译错误。按如下方式修改即可修复错误 :

LocalDateTime time1 = date1.atTime(5, 30);

233.有哪些方式创建LocalDate? 。

LocalDate类有几个静态方法用于创建LocalDate

LocalDate.now() 方法:该方法创建与当前日期对应的LocalDate ,如下代码所示:

LocalDate date1 = LocalDate.now();

LocalDate.of()方法: 该方法创建与指定年份、月份和日期相对应的LocalDate ,如下代码所示:

LocalDate date2 = LocalDate.of(2018, 7, 24);

LocalDate.parse()方法:该方法创建与字符串表示的日期对应的LocalDate可用于此,如下代码所示:

LocalDate date3 = LocalDate.parse(20140811);

234.如何检查一个日期是否在另一个日期之前?

LocalDate类有一个名为isBefore()的方法,可以用它来检查一个日期是否在另一个日期之前,如下代码所示:

LocalDate date1 = LocalDate.of(2018, 7, 24);
LocalDate date2 = LocalDate.parse(20140811);
boolean isBefore = date1.isBefore(date2);
System.out.println(“isBefore:”+isBefore);

上述代码创建两个日期对象,date1date2,在date1上以date2为参数调用isBefore()方法,由于date1date2之后,所以isBefore()方法返回false。因此代码输出如下:

isBefore:false

235. 解释ZonedDateTime类。

ZonedDateTime类表示日期和时间,该日期和时间也具有时区信息。因此,除了年、月、日、小时、分钟、秒和纳秒组件外,它还有一个ZoneId组件。ZoneIdjava.time.ZoneId的实例,表示时区。大约有40个时区可以通过ZoneID表示。下面代码显示了如何创建ZonedDateTime

ZoneId zoneId = ZoneId.of(Asia/Kolkata);
ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

上述代码片段首先创建一个与Asia/Kolkata对应的时区,也就是IST时区。然后,它创建一个ZonedDateTime,该时间与系统时钟的当前时间相对应,但具有此时区的ID。

236.以下代码片段的输出是什么?

LocalTime localTime = LocalTime.of(7, 15);
System.out.println(localTime.minusMinutes(30));

上述代码创建一个LocalTime实例。LocalTime表示具有小时、分钟、秒和纳秒成分的时间。在这里,创建一个对应于7-15(7小时,15分钟)的LocalTime对象,然后调用minusMinutes()方法减去 30分钟,。从7-15减去30分钟后,时间是6-45,因此代码打印如下输出:

0645

237.如何获取与日期相对应的星期几?

LocalDate 类有一个名为getDayOfWeek()的方法,可以使用它获取与日期对应的星期几,如以下代码所示:

LocalDate date = LocalDate.parse(20170425);
System.out.println(date.getDayOfWeek());

上述代码创建一个对应于2017年4月25日LocalDate,然后在此日期对象上调用getDayOfWeek()方法, 该方法返回一个名为DayOfWeek的枚举, 表示一周中的每一天。由于2017年4月25日对应于星期二,因此getDayOfWeek方法返回对应于星期二的枚举值。因此代码将打印如下所示的输出:

TUESDAY 

238. PeriodDuration类之间有什么区别?

  • PeriodDuration都是DateTime API引入的类,表示一段持续的时间,或者时间间隔。 两者之间有如下一些区别:

  • Period表示以年、月和天为单位的时间间隔,而 Duration 表示以秒和纳秒为单位的时间间隔。

  • Period用于测量两个LocalDate对象之间的时间间隔, 而 ,Duration用于测量两个LocalTime对象之间的时间间隔。

  • Duration通常用于测量较长的时间间隔,而Duration 用于测量较短的时间间隔。

239. 如何从yyyy/mm/dd格式表示的字符串日期中获得对应的LocalDate对象?

LocalDate有一个静态parse()方法,可用于将字符串日期转换为LocalDate对象。parse()方法默认接受yyyy-MM-dd格式 。对于本例场景,日期的格式是 yyyy/MM/dd ,因此 不能够直接使用parse()方法,而应使用 parse()方法的重载版本。 重栽版本可以接受DateTimeFormatter实例 ,而该实例可以通过其静态DateTimeFormatter.ofPattern()方法创建。 以下代码演示了如何将yyyy/mm/dd格式的字符串日期转换为LocalDate

String strDate =2012/10/11;
LocalDate date = LocalDate.
parse(strDate, DateTimeFormatter. ofPattern(“yyyy/MM/dd”));
System.out.println(date);

因此,上述代码将打印如下输出:

20121011

240.以下代码片段的输出是什么?

LocalDateTime dateTime = LocalDateTime.parse(20141228T084500);
dateTime = dateTime.withYear(1998);
System.out.println(dateTime);

上面的代码创建一个LocalDateTime实例, 它调用dateTime.withYear()方法, 此方法更新LocalDateTime 的年份组件,将其设置为指定年份。 在上述情况下,它将dateTime的年份设置为1998。 因此,代码最终打印输出如下 :

19981228T0845

241 如何判断LocalDate是否是闰年?

LocalDate类有一个名为isLeapYear()的方法,用于检查一年是否是闰年,如下代码所示:

LocalDate date1 = LocalDate.of(2020, 7, 24);
boolean isLeapYear = date1.isLeapYear();

上述代码创建一个名为date1LocalDate对象,然后调用isLeapYear()方法, 该方法返回一个布尔值,表示是否是润年。在上述情况下,由于date1的年份是2020年,即闰年,因此isLeapYear()方法将返回true

242.什么是静态接口方法和默认接口方法?

在Java 8之前,接口只能有抽象方法,它们没有方法体, 不能够有具体的实现代码。Java 8则允许接口具有静态方法和默认方法,它们不是抽象的方法,它们有方法体,有具体的实现代码。 主要出于下面原因:

  • 默认接口方法有助于保持代码向后兼容。在Java 8之前,如果将新方法添加到接口中,则需要修改所有实现该接口的类。默认方法克服了这一限制, 它们允许在接口中添加带有方法主体的方法。 所有实现类都不需要修改而使用默认的方法。

  • 静态接口方法有助于将实用程序方法组合在一起。静态接口方法无法在实现该方法的类中重写。可避免由于接口的不正确实现而导致的不良结果,并提供了额外的安全级别。

243.抽象类和Java 8之后的接口有什么区别?

Java 8的增加的默认接口方法的减少了抽象类和接口之间的区别。在Java 8之前,接口不可能有具体的方法。然而,Java 8在接口中增加了默认和静态方法, 这些方法都有方法主体,是具体的实现。 从而减少了抽象类和接口之间的区别。然而,两者之间有下面一些区别:

  • 抽象类可以有实例字段, 因而具有状态,而接口不能有实例字段, 也不能有状态。
  • 抽象类可以有一个构造函数,并且可以实例化。而接口不能有构造函数。

244.编写一个演示默认方法的代码示例。

默认接口方法是一个在接口定义中具有方法主体的方法, 并用default关键字说明。如下代码所示 :

public interface MyInterface {
public void doSomething();
public default void doSomethingElse() {
System.out.println(Doing something else....);
}
}

上述代码声明了一个名为MyInterface的接口,它有一个名为doSomething()的抽象方法和一个名为doSomethingElse()的默认方法,在其方法主体中简单打印了一些信息 。

245.静态方法和默认方法有什么区别?

静态方法和默认方法都有一个方法主体。两者之间有一些如下区别:

  • 静态方法用static关键字说明 ,而默认方法用 default关键字活吗说明 。
  • 默认接口方法可以重写, 静态接口方法不能够重写。
  • 默认接口方法可以通过实现接口的类的对象来调用, 静态接口方法不能通过实现接口的类的类的对象调用。它们需要通过接口名称调用。

246.下面代码片段中有什么错误? 如何修复?

public interface MyInterface {
public static void doSomething() {
System.out.println(Doing something....);
}
}
public class MyClass implements MyInterface{
public static void main(String args[]) {
MyClass obj = new MyClass();
obj.doSomething(); //Line 1
}
}

上面代码定义了一个名为MyInterface的接口,它有一个名为doSomething()的静态方法,然后创建一个名为MyClass的类,该类实现了MyInterfaceMyClass的主方法创建了一个名为objMyClass的对象,并在第1行调用doSomething()方法。导致第1行出现编译错误。因为不能通过类的对象访问静态接口方法, 只能通过接口名称访问。为了修复错误,第1行代码需要替换如下:

MyInterface.doSomething();

247.什么是Optional ,为什么它是由Java 8添加的?

Optional是Java 8新增加的一个类,用于表示可以存在或不存在的值(可以认为它是一个值的容器,该值可能为空),它有一些检索底层(容器中的)值是否存在的方法。如下代码演示了一个Optional

Optional<Integer> number;

其中,number是类型为Integer 的可选项,可能包含也可能不包含一个值。

使用Optional,可以避免与空值检查相关的样板代码。有时,一个方法可能会返回一个null。这可能会导致NullPointerException,为了避免此类异常,调用该方法的代码需要有明确的空值检查,代码因此难以阅读。Java 8的Optional有助于避免这类板代码。

248.有哪些方式创建Optional

Optional类上有一些静态方法用于创建Optional 实例 。主要有下面几种方式:

Optional.isEmpty()方法: 该方法创建一个空的Optional, 如下代码所示:

Optional<Integer> number = Optional.empty();

Optional.of()方法: 该方法创建一个具有特定值的Optional ,如下代码所示:

Optional<Integer> number = Optional.of(10); //creates Optional with the value 10

Optional.ofNullable()方法:该方法会创建一个可能是空值或非空值的Optional ,如下代码所示:

Optional<Integer> number = Optional.ofNullable(10); //creates Optional with the value 10Optional<Integer> number1 = Optional.ofNullable(null);

249.解释Optional.ifPresent方法。

Optional.ifPresent方法对Optional中的值执行某种操作,如果值存在的话。具体要执行的操作是一个Consumer函数接口的实例,因而可以用lambda表达式实现。如果Optional中没有值,它不会做任何事情。如下代码所示:

Optional<String> strOptional = Optional.of(Test);
strOptional.ifPresent(str–> System.out.println(str.toUpperCase()));

上述代码创建一个可选的strOptional,其中的值是Test。然后调用 ifPresent方法,使用lambda表达式作为其参数,该表达式Optional中的值转换为大写并在控制台输出。因此,此代码打印以下输出:

TEST

250.orElseorElseThrow方法有什么区别?

orElse()orElseThrow()都是Optional类上的方法。如果Optional中的值存在,两个方法都返回该值 。当值不存在时 ,两个方法的处理方式有所不同。

orElse()方法接受一个值作为参数,如果Optional中的值不存, 则返回此参数值。如下代码所示:

Optional<String> strOptional1 = Optional.empty();
String strValue1 = strOptional1.
orElse(Default);

在这里,由于strOptional1是空的Optional,因此orElse()方法返回Default

如果在空的Optional上调用 orElseThrow()方法会抛出异常。j具体抛出的什么异常由其函数参数决定 。如下代码示例:

Optional<String> strOptional2 = Optional.empty();
String strValue2 = strOptional1.orElseThrow(()> new IllegalArgumentException());

上述代码中,由于strOptional2是一个空的Optional,因此orElseThrow()方法抛出一个IllegalArgumentException

251.以下代码片段的输出是什么?

Optional<Integer> opInt1 = Optional.of(200); //Line 1
Optional<Integer> opInt2 = opInt1.filter(num–> num > 100); //Line 2
System.out.println(opInt2.get()); //Line 3

Optional 类有一个名为filter()的方法, 它接受一个谓词Predictate为参数 ,并将谓词应用于可选值(如果存在的话)。如果谓词中的条件满足,则返回可选值,否则返回空的可选值。在上述情形,第1行创建一个值为200的整数类型的Optional ,第2行调用filter()方法, 检查其中的值是否大于100,因为这是真的,所以filter()方法返回原值,并将值分配给opInt2 ,第3行中调用get()方法返回该值。因此,代码最终打印以下输出:

200

252. forEach方法如何工作 ?

Java 8 为Iterable接口添加了一个新的默认方法forEachjava.util.Collection 接口扩展了Iterable 接口,因此forEach 可用于所有集合类, 这个方法有助于在没有显式循环的情况下通过集合进行内部遍历 。如下 代码示例:

List<String> colours = Arrays.asList(Red,Blue,Black,White);
colours.forEach(str–> System.out.println(str));

上述代码声明一个名为colours的字符串列表,然后在此列表中调用forEach()方法, 这个方法接受一个Consumer 函数实际例。在上述情况下,Consumer通过lambda表达式实现, 其主体逻辑是仅打印传递给它的值。因此,此代码将打印以下输出:

Red
Blue
Black
White

253.Java 8在List 接口上有哪些改进?

Java 8在列表接口中增加了以下一些方法:

List.sort: 该方法用于对列表进行排序。它接受一个Comparator 为参数,并据此对输入列表进行排序

List.replaceAll: 该方法用于替换列表中的所有值。它接受一个UnaryOperator函数接口参数,该接口接受特定数据类型的输入(列表中的数据元素),并返回相同数据类型的结果(替换操作)。replaceAll()方法将UnaryOperator应用于列表中的每个元素。

254.Map.getOrDefault方法是如何工作的?

Java 8为Map接口增加了一个getOrDefault方法 ,该方法接受一个键,并在Map中按键检索值。如果值存在,返回值,否则, 返回传递的默认值。如下代码示例:

Map<Integer, String> fruits = new HashMap<Integer, String>();
fruits.put(1,Apple);
fruits.put(2,Orange);
String fruit1 = fruits.getOrDefault(1,Mango); //returns apple
String fruit2 = fruits.getOrDefault(3,Mango); //returns mango

255.以面代码片段的输出是什么?

Map<Integer, String> fruits = new HashMap<Integer, String>();
fruits.put(1,Apple);
fruits.put(2,Orange);
fruits.put(3,Strawberry);
fruits.replace(1,Mango); //Line 1
fruits.replace(2,Orange,Banana); //Line 2
fruits.replace(3,Blackberry,Pineapple); //Line 3
System.out.println(fruits.get(1));
System.out.println(fruits.get(2));
System.out.println(fruits.get(3));

Map.replace(key,value)方法仅在Map 的键值对存在时才会替换值。在上面的示例中,键1映射到Apple值,因此replace()方法将Apple值替换为Mango ,键2映射到值Orange ,第2行的替换方法也将值Orange替换为值Banana ,键3映射到值Strawberry,第3行的替换方法不会生效,因为键3没有映射到Blackberry。所以最后代码打印以下输出:

Mango
Banana
Strawberry

256. IteratorSplitIterator之间有什么区别?

IteratorSplitIterator都可用于遍历集合中的元素,然而,这些接口之间有如下一些区别:

  • Iterator接口来自早期版本的Java。SplitIterator是Java 8新增加的接口 。

  • Iterator接口仅支持顺序处理。SplitIterator既支持顺序又支持并行处理。

  • Iterator可用于遍历集合,SplitIterator可用于遍历集合和流。

  • Iterator仅允许遍历集合中的单个元素。另一方面,SplitIterator可以遍历集合中单个元素和多个元素。

257.相比 Future接口 ,CompletableFuture类有什么优势?

在Java 8之前,Java有Callable类和Future接口 , 它门可用于返回异步计算的结果。 Future 接口有一些非常显著的问题, CompletableFuture类则克服了所有这些问题。

  • Future 无法手动完成, 如果任务被挂起,则没有办法手动完成。另一方面,CompletableFuture有一个名为complete()的方法,允许手动完成任务。

  • Future有一个 get()方法,返回计算结果。然而它会阻止塞,直到结果可用。因此,如果想对Future的结果进行任何进一步计算, 需要一直等待结果可用。 另一方面 CompletableFuture 允许将回调附加到计算结果。一旦结果可用,这些回调就会立即执行而无需等待。

  • Future接口没有任何异常处理机制。另一方面,CompletableFuture 有一个exceptionally() 方法,允许在发生异常时运行备用代码。

258. StringJoiner类的作用是什么?

StringJoiner是Java 8新增加的类, 用于连接由分隔符分隔并具有前缀和后缀的字符串。如下代码演示了StringJoiner的功能和用法 :

StringJoiner strJoiner = new StringJoiner(:,[,]); //Line 1
strJoiner.add(“cat”); //Line 2
strJoiner.add(“dog”); //Line 3
strJoiner.add(“mouse”); //Line 4
System.out.println(strJoiner); //Line 5

上述代码创建一个StringJoiner,它使用冒号 : 作为分隔符,方括号[] 分别作为前缀和后缀。然后,调用其add()方法增加几个字符串。 代码打印输出如下:

[cat:dog:mouse]

259. Comparator.reversedComparator.reverseOrder 这两个方法有什么区别?

这两个方法都是Java 8为接口Comparator接口增加的新方法。两者都用于以相反的顺序对Collection 进行排序。 但两者之间有如下一些区别:

  1. Comparator.reversed 是默认方法,而Comparator.reverseOrder是静态方法。

  2. Comparator.reversed需要一个Comparator 实例存在 。它根据当前比较器生成一个反向排序的比较器并返回。Comparator.reverseOrder是静态方法,它不需要Comparator实例存在, 它直接返回一个按相反顺序排序的Comparator

  3. The Comparator.reversed返回一个比较器,该比较器与调用它的比较器的排序方向相反。另一方面,Comparator.reverseOrder返回一个比较器,该比较器与集合中元素的自然顺序相反。

260. 下面代码片段中有什么错误? 如何修复?

public class Employee {
private String name;
private double salary;
//constructor, getters and setters
}
List<Employee> employees = new ArrayList<Employee>();
employees.add(new Employee(A,10000));
employees.add(new Employee(B,5000.50));
employees.add(new Employee(C,15000));
employees.sort(Comparator.comparingInt(employee–> employee.getSalary())); //Line 1

上述代码第1行的 lambda表达式返回了双精度类型工资额salary , 与comparingInt方法需要的类型不一致 ,这会导致编译错误, 为修复错误, 按如下方式修改:

employees.sort(Comparator.comparingDouble(employee–> employee.getSalary()));

相关文章:

Java 基础面试300题 (231-260)

Java 基础面试300题 &#xff08;231-260&#xff09; 231 String::toUpperCase是什么类型的方法引用&#xff1f; String::toUpperCase是任意方法引用的示例。它指的是String 类的toUpperCase方法&#xff0c;但不是指任何特定对象。 通常在遍历集合或流时使用。例如&#x…...

Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

3、Job工作机制源码解读 用之前wordcount案例进行源码阅读&#xff0c;debug断点打在Job任务提交时 提交任务前&#xff0c;建立客户单连接 如下图&#xff0c;可以看出&#xff0c;只有两个客户端提供者&#xff0c;一个是YarnClient&#xff0c;一个是LocalClient。 显然&a…...

Linux环境---在线安装MYSQL数据库

Linux环境—在线安装MYSQL数据库 一、使用步骤 1.安装环境 Mysql 驱动 8.0 需要 jdk1.8 才行。 JDK版本&#xff1a;1.8 参考文档 MYSQL版本&#xff1a;8.0.2 下载链接: https://pan.baidu.com/s/1MwXIilSL6EY3OuS7WtpySA?pwdg263 操作系统&#xff1a;CentOS 1.1 建立存…...

git本地配置及IDEA下Git合并部分文件

目录 1、IDEA 下 Git 合并部分文件 2、分支合并忽略特定文件步骤 3、git本地配置 1、IDEA 下 Git 合并部分文件 1.1Git 下存在两个分支&#xff0c;foo 和 bar 分支&#xff0c;想要把 bar 分支上的部分文件合并到 foo 分支: 首先切换到 foo 分支&#xff0c;点击右下角的 …...

安徽京准 NTP时钟同步服务器具体配置方法是什么?

安徽京准 NTP时钟同步服务器具体配置方法是什么&#xff1f; 安徽京准 NTP时钟同步服务器具体配置方法是什么&#xff1f; 可以使用特权终结点 (PEP) 来更新 Azure Stack Hub 中的时间服务器。 使用可解析为两个或更多个 NTP&#xff08;网络时间协议&#xff09;服务器 IP 地…...

微信小程序 画布canvas

属性说明 属性类型默认值必填说明最低版本typestring否指定 canvas 类型&#xff0c;支持 2d (2.9.0) 和 webgl (2.7.0)2.7.0canvas-idstring否canvas 组件的唯一标识符&#xff0c;若指定了 type 则无需再指定该属性1.0.0disable-scrollbooleanfalse否当在 canvas 中移动时且…...

leetcode-04-[24]两两交换链表中的节点[19]删除链表的倒数第N个节点[160]相交链表[142]环形链表II

一、[24]两两交换链表中的节点 重点&#xff1a;暂存节点 class Solution {public ListNode swapPairs(ListNode head) {ListNode dummyHeadnew ListNode(-1);dummyHead.nexthead;ListNode predummyHead;//重点&#xff1a;存节点while(pre.next!null&&pre.next.next…...

深入探讨 Java 18 的主要新特性,分析其设计理念和实际应用

Java 18 作为 Java 的最新版本,引入了一系列的新特性和改进,这些变化不仅提升了语言的性能和安全性,也为开发者提供了更多的工具和选项,简化了开发过程,提高了代码的可读性和维护性。本文将深入探讨 Java 18 的主要新特性,分析其设计理念和实际应用,帮助读者理解这些新特…...

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码

MFC与QT的消息机制的区别_qt信号槽机制与mfc的消息映射机制的区别-CSDN博客 1.QT4-QT5差别 kits构建 控件&#xff0c;信号与槽 ui修改好后点击编译会自动生成 ui_XXX.h 聚合的关系&#xff0c;不是拥有的关系。 QWidget 和QWindow有什么差别&#xff1f; 2.VS2019-QT5 构建…...

Qt Designer 生成的 .ui 文件转为 .py 文件并运行

1. 使用使用 PyUIC将 .ui 转 .py &#xff08;1&#xff09;打开命令行终端&#xff08;可以用cmd&#xff0c;或pycharm 下面的 Terminal&#xff09;。 &#xff08;2&#xff09;导航到包含.ui文件的目录。 cd 你的ui文件路径 &#xff08;3&#xff09;运行以下命令来…...

Dubbo 3.x源码(20)—Dubbo服务引用源码(3)

基于Dubbo 3.1&#xff0c;详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了调用createProxy方法&#xff0c;根据服务引用参数map创建服务接口代理引用对象的整体流程&#xff0c;我们知道会调用createInvokerForRemote方法创建远程引用Invoker&#xff0c;这是Dubbo …...

开发一个Dapp需要多少?

区块链开发一个Dapp要多少钱&#xff1f; 开发一个去中心化应用&#xff08;Dapp&#xff09;的成本取决于多个因素&#xff0c;包括Dapp的复杂性、功能需求、区块链平台以及开发团队的经验水平。以下是一些主要的影响因素&#xff1a; 1. 区块链平台&#xff1a;不同区块链…...

kNN算法-概述

所谓kNN算法就是K-nearest neigbor algorithm。这是似乎是最简单的监督机器学习算法。在训练阶段&#xff0c;kNN算法存储了标签训练样本数据。简单地说&#xff0c;就是调用训练方法时传递给它的标签训练样本会被它存储起来。 kNN算法也叫lazy learning algorithm懒惰学习算法…...

富格林:曝光纠正出金亏损陋习

富格林悉知&#xff0c;虽然现货黄金市场看似变化无常&#xff0c;在操作方向上依旧是有迹可循的&#xff0c;投资者需要了解曝光的专业经验纠正陋习阻止出金亏损。要获得优质的黄金投资出金效果&#xff0c;就需要在明确现货黄金操作技巧的前提下&#xff0c;只有规范遵循已曝…...

怎么用微信小程序实现远程控制空调

怎么用微信小程序实现远程控制空调呢&#xff1f; 本文描述了使用微信小程序调用HTTP接口&#xff0c;实现控制空调&#xff0c;通过不同规格的通断器&#xff0c;来控制不同功率的空调的电源。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备…...

ES5/ES6 的继承除了写法以外还有什么区别?

一、主要区别 ES5 的继承实质上是先创建子类的实例对象&#xff0c; 然后再将父类的方法添加 到 this 上&#xff08;Parent.apply(this)&#xff09; . ES6 的继承机制完全不同&#xff0c; 实质上是先创建父类的实例对象 this&#xff08;所以必 须先调用父类的 super()方法…...

LeetCode 第401场周赛个人题解

100325. 找出 K 秒后拿着球的孩子 原题链接 100325. 找出 K 秒后拿着球的孩子 思路分析 数据很小&#xff0c;暴力或者数学方法都行 数学方法就是对 n - 1做带余除法&#xff0c;看跑了奇数还是偶数趟&#xff0c;余数如何&#xff0c;确定位置 时间复杂度&#xff1a;O(…...

C#面:请解释web.config⽂件中的重要节点

在C#中&#xff0c;web.config文件是一个XML格式的配置文件&#xff0c;用于配置ASP.NET应用程序的各种设置。web.config文件中包含了许多重要的节点&#xff0c;下面是一些常见的重要节点及其作用&#xff1a; <configuration>节点&#xff1a;web.config文件的根节点&…...

30分钟吃掉 Pytorch 转 onnx

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…...

KEIL5如何打开KEIL4的GD工程

GD官方提供的很多KEIL例程为KIEL4的版本&#xff0c;读者使用的时候可能会碰到使用KEIL5打开KEIL4的工程会报错以及无法找到芯片选型的问题&#xff0c;具体表现如下图所示。 我们该怎么办呢&#xff1f; 下面为大家介绍两种方法&#xff1a; 第一种方法是在keil4的工程后缀u…...

大前端技术分类

1 基础 2 语言 3 类库 4 框架 5 跨栈 6 架构 7 领域 7.1 中后台 7.2 跨平台 7.3 可视化 7.4 智能化 7.5 工程化 7.5.1 规范化 7.5.2 流程化 —— 前端工程化工具系列 7.5.3 模板化 7.5.4 自动化 7.5.5 平台化 7.6 其他 7.6.1 音视频 7.6.2 Web3 7.6.3 区块…...

Android AAudio——C API控制音频流(四)

上一篇文章我们介绍了 C API 中音频流的创建流程,以及打开音频流操作,这里我们再来看一下音频流的其他操作流程 一、音频流操作介绍 1、操作流程图 下图是状态变化流程图,虚线框表示瞬时状态,实线框表示稳定状态。 2、操作函数 上图中主要包含下面几个操作函数: aaudio…...

万能嗅探:视频号下载神器

万能嗅探是一款比较好用资源嗅探软件&#xff0c;界面干净&#xff0c;可以抓取浏览器的网页&#xff0c;不过想必各位主要用来抓取视频号&#xff0c;下面是使用方法。 使用方法 打开万能嗅探客户端&#xff0c;然后打开浏览器&#xff0c;产生网络请求即可&#xff0c;看看…...

python数据分析-ZET财务数据分析

一、公司背景 中兴通讯股份有限公司是一家总部位于中国深圳的跨国公司&#xff0c;致力于为全球客户提供通信设备和解决方案。公司成立于1985年&#xff0c;自成立以来一直致力于为客户提供创新的通信技术和服务。中兴通讯的业务涵盖多个领域&#xff0c;包括但不限于高端路由…...

Leetcode学习

回文数 反转一半数字 第一个想法是将数字转换为字符串&#xff0c;并检查字符串是否为回文。 但是&#xff0c;这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转&#xff0c;然后将反转的数字与原始数字比较&#xff0c;如果它们是相同…...

python 列出面板数据所有变量名

在Python中&#xff0c;处理面板数据&#xff08;Panel Data&#xff09;通常使用pandas库&#xff0c;特别是当数据以DataFrame或Panel&#xff08;尽管Panel在较新版本的pandas中已被弃用&#xff09;的形式存在时。然而&#xff0c;由于Panel的弃用&#xff0c;现代做法通常…...

知乎网站只让知乎用户看文章,普通人看不了

知乎默认不显示全部文章&#xff0c;需要点击展开阅读全文 然而点击后却要登录&#xff0c;这意味着普通人看不了博主写的文章&#xff0c;只有成为知乎用户才有权力查看文章。我想这不是知乎创作者希望的情况&#xff0c;他们写文章肯定是希望所有人都能看到。 这个网站篡改…...

web前端的实习记录:探索、挑战与成长

web前端的实习记录&#xff1a;探索、挑战与成长 踏入web前端实习的旅程&#xff0c;我怀揣着对未知的好奇与对技术的渴望&#xff0c;开始了一段全新的学习与实践。在这个过程中&#xff0c;我经历了四个方面的技术探索&#xff0c;五个方面的挑战应对&#xff0c;六个方面的…...

正则表达式的详解带你认识正则表达式的意义

前言 ​ 我们都知道协议通常通过添加固定的字符、报头、特定的数字等来定义数据的结构和格式。将正确的信息提取出来是十分重要的&#xff0c;而正则表达式可以用来描述和匹配这些固定的结构&#xff0c;从而提取出所需的信息。并且正则表达式还可以处理大量复杂的字符串。这篇…...

中国现在最厉害的书法家颜廷利:东方伟大思想家哲学家教育家

中国书法界名人颜廷利教授&#xff0c;一位在21世纪东方哲学、科学界及当代中国教育领域内具有深远影响力的泰斗级人物&#xff0c;不仅以其深厚的国学修为和对易经姓名学的独到见解著称&#xff0c;还因其选择在济南市历城区的龙泉大街以及天桥区的凤凰山庄与泉星小区等地设立…...