避免空值判断

Dify+firecrawl:一个超好用的网页转Markdown API,打造你的第一个能检索爬虫RAG知识库的聊天机器人 Firecrawl是一个超简单的API服务——你扔给它一个URL,它就能把整个网站(包括子页面!)的内容自动抓下来,并且转换成干净、易读的Markdown格式。不用配置网站的站点地图,不用写爬虫规则,API调一下,数据直接到手。接下来我们一起本地部署吧! 阅读详情

一、对象判空

import org.apache.commons.lang3.ObjectUtils;

// 判断对象是否为null
if (ObjectUtils.isEmpty(obj)) {
    // 对象为null时的处理
}

// 判断对象是否不为null
if (ObjectUtils.isNotEmpty(obj)) {
    // 对象不为null时的处理
}

ObjectUtils.isEmpty() 会检查对象是否为 null,如果是数组、集合或Map,还会检查其长度/大小是否为0。

二、数组判空

import org.apache.commons.collections4.CollectionUtils;

// 判断集合/数组是否为空
if (CollectionUtils.isEmpty(collectionOrArray)) {
    // 集合/数组为null或空的处理
}

// 判断集合/数组是否不为空
if (CollectionUtils.isNotEmpty(collectionOrArray)) {
    // 集合/数组不为null且非空的处理
}

三、字符串判空

import org.apache.commons.lang3.StringUtils;

// 判断字符串是否为null或空字符串
if (StringUtils.isEmpty(str)) {
    // 字符串为null或""时的处理
}

// 判断字符串是否为null或空字符串或仅包含空白字符
if (StringUtils.isBlank(str)) {
    // 字符串为null或""或"   "时的处理
}

// 判断字符串是否不为null且非空
if (StringUtils.isNotEmpty(str)) {
    // 字符串不为null且非""时的处理
}

// 判断字符串是否不为null且非空且非全空白字符
if (StringUtils.isNotBlank(str)) {
    // 字符串不为null且非""且非"   "时的处理
}

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘 本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。 阅读详情

相关推荐

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍_nbiot ntn

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

2401_83703866的博客 3163

Java对象判空的方法——apache工具类

Java对象判空的方法——apache工具类Java对象判空的方法——apache工具类

凡梦千华的博客 2428

告别“盲开”:手把手教你用MCU内置比较器搞定BLDC无感方波启动(附代码片段)

本文详细介绍了如何利用MCU内置比较器实现BLDC无感方波启动,解决传统无传感器控制中的'盲开'问题。通过虚拟中性点电路设计和三段式启动流程,结合反电动势检测和过零检测技术,提供了一套经济高效的解决方案,并附有可直接移植的代码片段,助力工程师快速实现可靠的无感控制。

weixin_33694172的博客 502

ApacheCommonsLang3常用工具类

对 str 字符串进行省略号缩写,maxWidth 表示长度,必须大于等于4abbreviate(final String str, final int maxWidth) StringUtils.abbreviate(null, *) = null StringUtils.abbreviate(“”, 4) = “” StringUtils.abbreviate(“abcdefg”, 6) = “abc…System.out.println(StringUtils.join(list,“,”));

竹林幽深 399

ARM Cortex平台NEON指令集优化实战指南

本文为ARM Cortex平台开发者提供了一份全面的NEON指令集优化实战指南。文章从NEON的SIMD架构原理讲起,详细介绍了开发环境搭建、NEON内联函数与自动向量化两种核心编程方法、关键数据类型与指令,并通过图像饱和运算、矩阵乘法等实战案例,深入解析了性能调优技巧与常见避坑指南,旨在帮助开发者充分释放ARM处理器的并行计算潜力。

weixin_29162439的博客 259

LabVIEW新手必看:5个工业自动化实战项目从零搭建(附完整代码)

本文为LabVIEW新手提供了5个从零开始的工业自动化实战项目指南,涵盖数据采集、状态机控制、PID闭环、振动监测及多站协同监控。通过详细的架构解析和关键代码片段,帮助读者快速掌握LabVIEW图形化编程的核心逻辑与工程化思维,并附完整代码实现。

agile9scrum的博客 1071

commons-lang3常用工具方法介绍

apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包。 Apache Commons Lang3 Maven 依赖: <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>or.

liuerchong的博客 1万+

使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间

在泊松回归模型中,我们通常关注的是自变量对事件发生率的影响,而事件密度比(Incidence Rate Ratio,IRR)可以帮助我们理解不同自变量对事件发生率的相对影响。在本文中,我们将使用R语言来获取泊松回归模型所有系数的事件密度比的95%置信区间。通过以上步骤,我们可以使用R语言获取泊松回归模型所有系数的事件密度比的95%置信区间。为了获取事件密度比的置信区间,我们将使用。使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间。

BugCrusher的博客 1264

isEmpty 和 isBlank 的用法区别,至少一半的人答不上来...

开发者(KaiFaX)面向全栈工程师的开发者专注于前端、Java/Python/Go/PHP的技术社区文章来源:https://sourl.cn/dRpJ6b也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在...

AI研习社 413

把 Claude Code 接进 ABAP 世界,vibing-steampunk 到底能做什么

《Vibing Steampunk:AI Agent 与 ABAP 开发的工程化桥梁》摘要 Vibing Steampunk(vsp)是一个连接 AI Agent 与 SAP ABAP 开发环境的开源工具,通过 Model Context Protocol(MCP)将 ABAP 开发能力标准化。它解决了传统 ABAP 开发中 AI 辅助工具的局限性,使 Claude Code 等 AI 编程助手能够直接访问 ADT API,实现代码读写、调试、测试等完整开发流程。该工具采用 Go 语言开发,提供 147 个

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1933

YOLOv8 模型进化全解析:百种创新模块集成方法与实战部署指南(附资料链接)

动态网络 | DeformableConv/DynamicHead| +2.8% || 轻量化卷积 | GhostConv/MobileConv | +1.2% || 多尺度融合 | AFPN/ASFF | +3.5% || 注意力机制 | CA/EMA/SimAM | +1.8-4.2% |

FJN110的博客 111

Java 判断实体对象及所有属性是否为空

1、判断实体对象是否为空 2、判断对象所有属性是否为空 3、特别注意,实体类中如果有基本数据类型,会影响判断 package com.liuxd.object; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; /** * Created by Liuxd on 2018/11/...

春风化雨 8万+

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

海洋CMS admin_notify.php 接口处存在远程代码执行漏洞,经过身份验证的远程攻击者可利用该漏洞执行任意代码,写入后门文件,进而控制整个web服务器。

0xSec 2713

powerbi判断父级是否有子集_Power BI技巧:避免返回空值的三种方法

​在日常的分析中,经常会碰到计算结果为空值的情况,比如计算上年同期数据,度量值如下:上年销售金额 = CALCULATE([销售金额], SAMEPERIODLASTYEAR('日期表'[日期]))在业务的第一年,上年同期数据是不存在的,就会返回空值。空值在矩阵和表格中什么都不显示,像这样:而在卡片图中,直接显示大大的两个字:空白,非常扎眼,那怎么能不这样显示呢?常用的做法是将空值以...

weixin_42300302的博客 580

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java中如何优化复杂条件判断的性能(使用 `switch` 代替 `if-else` 链、使用枚举代替多个常量、提前返回或退出、使用查找表代替条件判断、 使用 `Optional` 避免空值检查)

在 Java 等编程语言中,复杂条件判断的性能优化是提高代码执行效率的关键。尤其是在处理大量数据或性能敏感的应用中,优化条件判断可以带来显著的性能提升。以下是几种常见的优化复杂条件判断的方法:

开源AI 专属 UI——papyrai-ui。《千界明彻录》(故事形式构建元思维)——胡说小说。更多思辨内容在公众号。 1867

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

在判断字符串是否为空值时应避免使用String.trim()

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34384915的博客 1609

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java 验证时trim,在判断字符串是否为空值时应避免使用String.trim()

工作中经常可以看到下面的代码片段:if (str == null || str.trim().length() == 0) {......} 这段代码的作用是判断一个字符串是否为空值。代码虽简单,但这种方式有个问题:使用了trim()方法。trim()方法本身没什么不好,只是被用错了地方。我们看看trim()是怎么工作的。public String trim() {int len = count;...

weixin_39779004的博客 1486

java 中的空值判断(待续)

java 中的空值判断              

hw1287789687的专栏 149

kotlin的空值判断

kotlin的空值判断 本门是学习kotlin的时候,个人觉得所要注意到的知识点,在这里记录一下,方便以后查阅 判空返回的情况 在些java 代码的时候如果遇到对象为空的时候,通常会这样去做处理: public void showMsg(String msg){ if(msg == null){ return ; } } 但是这样些太麻烦了,下面是kotlin的写法 fun sho...

HuiMengNiTian的专栏 4075

pandas中对nan空值的判断

pandas基于numpy,所以其中的空值nan和numpy.nan是等价的。 numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool(np.nan)去判断是否为空值,这是不对的。 对于pandas中的空值,我们该如何判断,并且有哪些我们容易掉进去的陷阱,即不能用怎么样的方式去判断呢? 可以判断pandas中单个空值对象的方式: 1、利用pd.isnull(),pd.isna(); 2、利用np.isnan(); 3、利用is表达式; 4、利

数据分析 2万+

MySQL:关于mysql插入int空值的处理

最好的也是用的最多的方法是: 将int型空值不允许为空 默认为0.这样就不会出现因为允许为空 插入空值变为0的情况。虽然用起来要判断一下,但却不会出现问题。 其它的方法,来自网络,咱未验证 如果已经安装好了的,就在my.ini中查找sql-mode,默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUB

zhmmx的专栏 1136

tableau-判断空值

If Isnull(pay_time) then 0 end 如果为空值就等于0,如果不使用isnull则无法判断空值,对于sql处理空值使用nvl ,不然这列存在空值,如果排除其它属性,则空值也会被排除,应使用 nvl(a.non_payment_type,'测试') not like '%未压批%' ,如果直接a.non_payment_type not like '%未压批%' 则排除了未压批和空值 ...

weixin_41668007的博客 7825

(插入空值)C#中往数据库插入数据若为空值的问题处理

在用C#往数据库里面插入记录的时候, 可能有的字段你不赋值,那么这个字段的值就为null, 如果按一般想法的话,这个值会被数据库接受, 然后在数 据表里面显示为NUll, 实际上这就牵扯到一个类型的问题, C#中的NUll于SQL中的null是不一样的, SQL中的null用C#表示出来就 是DBNull.Value, 所以在进行Insert的时候要注意的地方. Example: SqlComma...

weixin_40333655的博客 4017

一个空值_Power BI技巧:避免返回空值的三种方法

​在日常的分析中,经常会碰到计算结果为空值的情况,比如计算上年同期数据,度量值如下:上年销售金额 = CALCULATE([销售金额], SAMEPERIODLASTYEAR('日期表'[日期]))在业务的第一年,上年同期数据是不存在的,就会返回空值。空值在矩阵和表格中什么都不显示,像这样:而在卡片图中,直接显示大大的两个字:空白,非常扎眼,那怎么能不这样显示呢?常用的做法是将空值以...

weixin_36401794的博客 8001

poi tl 判断空值_皕杰报表小技巧:巧用空值判断函数

在设计企业报表时,报表单元格的表达式中经常需要用到空值判断,例如在单元格的显示值属性中,判断当单元格的值为空时,显示为0,否则显示单元格的真实值,等等。一般这种情况下,用户习惯写的表达式是: if(@value=null, 0, @value)。如果我们把@value换成更加复杂的表达式,例如if(ds1.getone(…)==null, 0, ds1.getone(…)),大家可以看出,这种算法...

weixin_39679061的博客 1439

空指针异常及常见类型的空值判断

空指针异常就是我们在对空对象进行的任何操作都会报空指针异常。 空指针的解决办法: 重点关注报错发生的所在行,同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前。 1.字符串 StringUtils.isNotEmpty(?); 2.对象空值判断 if(Obj == null) 3,集合空值判断 CollectionUtils.isEmpty(?) 4.数组空值判断 if(suzu != null && suzu.length() > 0) ...

qq_34748010的博客 1989
上一篇: == 和 equals 的区别
下一篇: MySQL索引
java1224
博客等级 码龄3年 174粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值