本文目錄一覽:
java中返回值的類型及含義
1、用類名作方法返回,即返回該類的實體類對象
2、該對象裏面的屬性都是能夠在這個方法裏面通過查詢sql或者賦值來訪問到的
// 實體類
public class User
{
private String name;
private int age;
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
//…下面的age不寫了
}
// 實現方法類:
public class Demo
{
public User getUserInfo() // 返回實體類對象
{
User user = new User();
user.setName(“張三”);
user.setAge(15);
return user;
}
}
JAVA中返回boolean的方法?
這兩種是有區別的。
先說第一種:
if(this==i) return true, 這隻有一種情況 就是當this==i的時候,返回為true,如果不等於的時候呢,就沒有返回值,所以方法會報錯。
除非,你寫成這樣,則和第二種方法上在邏輯層面來說並沒有太大的一個區別。
if(this==i){
return true;
}else{
return false;
}
再說第二種:return this == i; 返回值可能是true,也可能是false;但不管是哪種返回值,這個方法都能獲得方法值,所以方法不會報錯。
所以,在沒有特殊的要求前提下,建議使用第二種方法,至少代碼會更精鍊一些。
Java中返回參數值的幾種狀態
下面給你介紹4種Java中返回參數值狀態:
一、Java 中無參無返回值方法的使用
第一步,定義方法
例如:下面代碼定義了一個方法名為 show ,沒有參數,且沒有返回值的方法,執行的操作為輸出 「 welcome to imooc. 」
注意哦:
1、 方法體放在一對大括號中,實現特定的操作
2、 方法名主要在調用這個方法時使用,需要注意命名的規範,一般採用第一個單詞首字母小寫,其它單詞首字母大寫的形式
第二步,調用方法
當需要調用方法執行某個操作時,可以先創建類的對象,然後通過 對象名.方法名(); 來實現
二、Java 中無參帶返回值方法的使用
如果方法不包含參數,但有返回值,我們稱為無參帶返回值的方法。
三、Java 中帶參無返回值方法的使用
有時方法的執行需要依賴於某些條件,換句話說,要想通過方法完成特定的功能,需要為其提供額外的信息才行。例如,現實生活中電飯鍋可以實現「煮飯」的功能,但前提是我們必須提供食材,如果我們什麼都不提供,那就真是的「巧婦難為無米之炊」了。我們可以通過在方法中加入參數列表接收外部傳入的數據信息,參數可以是任意的基本類型數據或引用類型數據。
四、Java 中帶參帶返回值方法的使用
如果方法既包含參數,又帶有返回值,我們稱為帶參帶返回值的方法。
java 如何能在一個方法中返回多個值?
最開始說一下我使用的解決辦法:Pair 和 Triple
偶然看到這個問題,瀏覽量也很大,還是寫一下我認為最好的辦法吧,跟大家交流一下。
說一下前面的人答的方案,都可以解決問題,但是覺得不太好。您要是說 可以解決問題就行,那我無話可說。寫代碼如果只是為了完成任務,不考慮實現是否優雅 和鹹魚有什麼區別呢。
數組明顯不合適,數組適合放同一類型的數據,當然,你可以使用ListObject,用Object 放結果,調用方需要知道Object的實際類型並做強制轉換,不夠優雅,差評
MapString,Object 是一種能解決問題的做法,使用Object 來放結果也存在調用方需要知道其實際類型並做強轉的問題,用key 作區分,方法調用者需要知道方法內部的key ,即使使用全局變量做key 也不夠優雅
自定義對象,新建一個類,例如 public class DoubleResultA, B{getter; allArgsConstructor;}、public class TripleResultA, B, C{getter; allArgsConstructor;
} ,效果棒棒的
接下來要說的 Pair 和Triple 就是上面第三種方案的實現。org.apache.commons.lang3.tuple.Pair,org.apache.commons.lang3.tuple.Triple 是commons-lang包里的兩種元組類型。PairL,R可以存兩個數據,TripleL,M,R 可以存三個,再多 那麼考慮一下你的方法是否可以拆一下。
簡單說一下他們的用法吧。
Pair 初始化:
Pair.of(L left, R right);
例:Pair.of(“a”,”b”);
或:
PairObject,Object pair = new PairObject, Object() {
@Override
public Object getLeft() {
return null;
}
@Override
public Object getRight() {
return null;
}
@Override
public Object setValue(Object value) {
return null;
}
};
Triple 初始化:
Triple.of(L left, M middle, R right)
或:
TripleObject, Object, Object triple = new TripleObject, Object, Object() {
@Override
public Object getLeft() {
return null;
}
@Override
public Object getMiddle() {
return null;
}
@Override
public Object getRight() {
return null;
}
};
Pair 獲取內容:
pair.getKey();
pair.getValue();
Triple 獲取內容:
triple.getLeft();
triple.getMiddle();
triple.getRight();
另外org.apache.commons.lang3.tuple 包下還有ImmutablePair、ImmutableTriple、MutablePair、MutableTriple 分別對應兩種結構的不可變和可變類型,大家可以自行探索。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150548.html