# JAVA报错Exception in thread "main" java.lang.NullPointerException

JAVA报错Exception in thread “main” java.lang.NullPointerException

我在编写一个需要使用对象数组的代码发现了这个问题。

情况是:我在定义完一个对象数组后,打算给数组的各个元素对象赋值时,出现了报错
在这里插入代码片 Exception in thread "main" java.lang.NullPointerException at 对象数组.Str.main(Str.java:11)
出现问题的原因:
因为在我们定义的对象数组中,每一个元素都是一个对象,既然是对象肯定就要分配内存啊!部分人忽略了这个问题,所以才有了上面的错误。
解决方法
给对象数组中的每一个元素对象分配内存
操作:对象[i]=new 对象的类名();

举例:我自己的例子
1.我定义一个类,类名为People,类里面只有一个变量age

2.我再定义了一个Peopled的对象数组,长度为5个元素
People [] young=new People[5];
3.接下来我给对象数组中的每一个元素对象分配内存
for(int i=0;i<5;i++) {
young[i]=new People(); //分配内存
young[i].age=a[i]; //给People数组中的每个元素赋值
}
问题解决了!

下面是具体代码
没有修改之前的代码:

public class Str {
	public static void main(String[] args) {
		
		int [] a= {16,17,18,19,18};
		
		People [] young=new People[5];//创建一个对象数组
		
		for(int i=0;i<5;i++) {
			young[i].age=a[i];	//给People数组中的每个元素赋值
		}
		
		for(int i=0;i<5;i++) {		//检验结果
			System.out.print(young[i]);
		}
	}
}

class People{
	int age;
}

修改后的代码:

package 对象数组;

public class Str {
	public static void main(String[] args) {
		
		int [] a= {16,17,18,19,18};
		
		People [] young=new People[5];//创建一个对象数组
		
		for(int i=0;i<5;i++) {
			young[i]=new People();			//给每个元素分配内存
			young[i].age=a[i];	//给People数组中的每个元素赋值
		}
		
		for(int i=0;i<5;i++) {		//检验结果
			System.out.print(young[i].age+",");
		}
	}
}

class People{
	int age;
}

运行结果:
16,17,18,19,18,

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通信相关 1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 访问数据库相关 1.SqlHelper类 2.一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作) 帮助类 1.最新的Functions 类 2.最新的 PageValidate 类 3.JavascriptHelp 4.最新的皮肤帮助类 UI_Misc_Helper JavaScript|Jquery相关 1.jQuery.cookie帮助类 访问系统相关 1.C#计算机信息类ComputerInfo 2.Api_Win32_Mac类工具包 3.在c#程序中放音乐的帮助类 GDI+相关,图像相关 1.生成缩略图的类文件SmallImage C#基础类库 1.Chart图形 Assistant创建显示图像的标签和文件 OWCChart统计图的封装类 2.Cookie&Session;&Cache;缓存帮助类 CacheHelper C#操作缓存的帮助类 CookieHelper C#操作Cookie的帮助类,添加,删除,修改,清理 SessionHelper C#关于Session的操作,获取,设置,删除 SessionHelper2 C#关于Session的一些高级操作,比如取对象,取数据等等 3.CSV文件转换 CsvHelper CSV文件导入DataTable和DataTable导出到Csv 4.DEncrypt 加密/解密帮助类 DEncrypt C# DEncrypt加密/解密帮助类 DESEncrypt Encrypt HashEncode MySecurity RSACryption 5.DLL COM.Excel.dll Excel.dll ICSharpCode.SharpZipLib.dll itextsharp.dll Microsoft.Office.Interop.Owc11.dll Microsoft.Web.UI.WebControls.dll OWC10Chart.dll 6.FTP操作类 FTPClient FTPHelper FTPOperater 7.JS操作类 JsHelper 8.JSON 转化类 ConvertJson List转成Json|对象转成Json|集合转成Json|DataSet转成Json|DataTable转成Json|DataReader转成Json等 9.Mime MediaTypes MimeEntity MimeHeaders MimeReader QuotedPrintableEncoding 10.PDF 转化类 PDFOperation 11.ResourceManager 操作类 AppMessage ResourceManager ResourceManagerWrapper Resources Sample.xml 12.XML操作类 XmlHelper XMLProcess 13.弹出消息类 MessageBox ShowMessageBox 14.导出Excel 操作类 DataToExcel ExcelHelper ExportExcel GridViewExport 15.分词辅助类 SegList 16.汉字转拼音 EcanConvertToCh PinYin 17.配置文件操作类 ConfigHelper 18.日历 CNDate 19.上传下载 DownLoadHelper FileDown FileUp UpLoadFiles 20.时间操作类 DateFormat TimeHelper TimeParser 21.视频转换类 VideoConvert 22.随机数类 BaseRandom RandomHelper RandomOperate 23.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 24.图片 ImageClass ImageDown ImageUpload 25.网络 NetHelper 26.文件操作类 DirFile FileOperate INIFile 27.序列化 Serialize SerializeHelper 28.压缩解压缩 SharpZip 29.验证码 YZMHelper Captcha 验证码类,一个很个性的验证码类 30.页面辅助类 HTMLHelper UploadEventArgs JavaScriptPlus PageHelper 31.邮件 MailHelper MailPoper MailSender SmtpServerHelper 32.邮件2 ConnectCommand ConnectResponse DeleCommand ListCommand ListResponse MailHeaders MailMessageEx NoopCommand PassCommand Pop3Client Pop3Command Pop3Commands Pop3Exception Pop3ListItem Pop3Response Pop3Responses Pop3State QuitCommand RetrCommand RetrResponse RsetCommand Stat StatCommand StatResponse TopCommand UserCommand 33.正则表达式 RegexHelper 34.字符串 StringHelper 35.其它 BasePage BindDataControl ConvertHelper DataCache FormulaExpress GridViewHelper IpHelper MediaHandler PageValidate PicDeal QueryString Rmb StringPlus SysHelper Tools UrlOper Utility ValidateImg WebSitePathHelper

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值