欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java自定義類數(shù)組報(bào)null的相關(guān)問(wèn)題及解決

 更新時(shí)間:2023年09月29日 08:50:48   作者:Dwoura犀利  
這篇文章主要介紹了Java自定義類數(shù)組報(bào)null的相關(guān)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java自定義類數(shù)組報(bào)null問(wèn)題

不要沿用c++的想法。

java的數(shù)組分基本數(shù)據(jù)類型和引用類型

  • 基本數(shù)據(jù)類型:如int[] s=new int[10]; 這里面創(chuàng)建了長(zhǎng)度為10的整型數(shù)組,并且自動(dòng)為每個(gè)元素創(chuàng)建了對(duì)象,即能找到相關(guān)地址
  • 引用類型:如寫(xiě)了個(gè)class student(){}, 在student[] s=new student[10]中只是new了數(shù)組空間,我們還要對(duì)s[0]-s[9]每一個(gè)創(chuàng)建對(duì)象,否則數(shù)組為null。

解決方法

for(int i=0;i<10;i++)
{
? ? s[i]=new student();
}

可以理解為先創(chuàng)建了空數(shù)組,然后為每一個(gè)元素添加了屬于它的屬性。

實(shí)例:

設(shè)某一個(gè)班共有N(N=20)名學(xué)生,期末考試5門(mén)課程,請(qǐng)編一程序評(píng)定學(xué)生的獎(jiǎng)學(xué)金,要求打印輸出一、二等獎(jiǎng)學(xué)金學(xué)生的學(xué)號(hào)、姓名和各門(mén)課成績(jī)。       (獎(jiǎng)學(xué)金評(píng)定標(biāo)準(zhǔn)是:總成績(jī)超過(guò)全班總平成績(jī)20%發(fā)給一個(gè)獎(jiǎng)學(xué)金,超過(guò)全班總平成績(jī)10%發(fā)給二個(gè)獎(jiǎng)學(xué)金。)

Java自定義類二維數(shù)組出現(xiàn)NullPointerException錯(cuò)誤

自定義的類

package com.hbq.bugs;
// MyClass 類
public class MyClass {
    public int s1;
    public int getS1() {
        return s1;
    }
    public void setS1(int s1) {
        this.s1 = s1;
    }
}

主函數(shù)

package com.hbq.bugs;
public class App {
    public static void main(String[] args) {
        MyClass [][] c=new MyClass[10][10];
        c[0][0].setS1(1);
    }
}

運(yùn)行會(huì)出現(xiàn)

進(jìn)入debug模式發(fā)現(xiàn)

c[0]的所有元素都是null。

這是由于引用對(duì)象不初始化默認(rèn)都為null的原因。

所以會(huì)有一個(gè)長(zhǎng)度為10的一維數(shù)組,每個(gè)一維數(shù)組的元素又是長(zhǎng)度為10的一維數(shù)組,這個(gè)數(shù)組里的元素默認(rèn)都為null。

所以要對(duì)每一行每一列進(jìn)行實(shí)例化賦值開(kāi)拓新空間。

package com.hbq.bugs;
public class App {
    public static void main(String[] args) {
        MyClass[][] c = new MyClass[10][10];
//        c[0][0].setS1(1);
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                c[i][j] = new MyClass();
            }
        }
        c[0][0].setS1(1);
        System.out.println(c[0][0].getS1());
    }
}

運(yùn)行成功!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析Java定時(shí)任務(wù)的選型及改造問(wèn)題

    解析Java定時(shí)任務(wù)的選型及改造問(wèn)題

    這篇文章主要介紹了Java定時(shí)任務(wù)的選型及改造問(wèn)題,本文給大家提到了Java主流三大定時(shí)任務(wù)框架優(yōu)缺點(diǎn),通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • java實(shí)現(xiàn)微信公眾平臺(tái)發(fā)送模板消息的示例代碼

    java實(shí)現(xiàn)微信公眾平臺(tái)發(fā)送模板消息的示例代碼

    這篇文章主要介紹了java實(shí)現(xiàn)微信公眾平臺(tái)發(fā)送模板消息的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解Java如何利用數(shù)字描述更多的信息

    詳解Java如何利用數(shù)字描述更多的信息

    在數(shù)據(jù)庫(kù)里面?,通常我們會(huì)用數(shù)字的遞進(jìn)來(lái)描述狀態(tài)等信息?,?但是如果想進(jìn)行更復(fù)雜的操作?,?就有必要對(duì)二進(jìn)制有一定理解了。本文就來(lái)趣味性的探討一下?,?如何通過(guò)更少的空間描述更多的信息
    2022-09-09
  • Java線程之線程同步synchronized和volatile詳解

    Java線程之線程同步synchronized和volatile詳解

    這篇文章主要介紹了Java線程之線程同步synchronized和volatile詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • java狀態(tài)機(jī)方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解

    java狀態(tài)機(jī)方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解

    這篇文章主要為大家介紹了java狀態(tài)機(jī)方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • springboot整合curator實(shí)現(xiàn)分布式鎖過(guò)程

    springboot整合curator實(shí)現(xiàn)分布式鎖過(guò)程

    這篇文章主要介紹了springboot整合curator實(shí)現(xiàn)分布式鎖過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java多線程實(shí)現(xiàn)模擬12306火車(chē)站售票系統(tǒng)

    Java多線程實(shí)現(xiàn)模擬12306火車(chē)站售票系統(tǒng)

    12360火車(chē)票售票系統(tǒng)基本上大家都用過(guò),那你知道是怎么實(shí)現(xiàn)的嗎,今天我們就模擬12306火車(chē)站售票系統(tǒng)來(lái)實(shí)現(xiàn),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java之Error與Exception的區(qū)別案例詳解

    Java之Error與Exception的區(qū)別案例詳解

    這篇文章主要介紹了Java之Error與Exception的區(qū)別案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Spring整合多數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)切換的實(shí)例講解

    Spring整合多數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)切換的實(shí)例講解

    下面小編就為大家?guī)?lái)一篇Spring整合多數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)切換的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • SpringBoot讀取Resource下文件的4種方法

    SpringBoot讀取Resource下文件的4種方法

    這篇文章主要介紹了SpringBoot讀取Resource下文件的4種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論