如何在Java中實現將兩個數相互交換的方法

來源:互聯網
上載者:User

        在C/C++中,我們可以利用指標或引用來解決問題,比如一下的C代碼:

 

void swap(int *a, int *b)
...{
        int  temp  =  *a;
        *a  =  *b;
        *b  =  temp;
}

或是以下C++代碼:

 

void  swap(int  &a,  int  &b)
...{
        int  temp  =  a;
        a  =  b;
        b  =  temp;
}

但是要在Java中實現這個功能就比較麻煩。

不妨大家可以先試試。

 

        我下面就貼出自己實現這個功能的方法:

 


class WrappedNumber<T extends Number> ...{
    
    private T i = null;
    
    public WrappedNumber(T i) ...{
        this.i = i;
    }
    
    public T getNumber() ...{
        return i;
    }
    
    public void setNumber(T i) ...{
        this.i = i;
    }
}


public class Hello ...{
    
    public static <T extends Number> void swap(WrappedNumber<T> a, WrappedNumber<T> b) ...{
        T temp1 = a.getNumber();
        a.setNumber(b.getNumber());
        b.setNumber(temp1);
    }
    
    public static void main(String[] args) ...{
        
        WrappedNumber<Short> a = new WrappedNumber<Short>((short)10);
        WrappedNumber<Short> b = new WrappedNumber<Short>((short)20);
        
        Hello.<Short>swap(a, b);
        
        System.out.println("The answer is: a=" + a.getNumber() + ", b="+b.getNumber());
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.