1. Java一個方法返回兩個不同的類型值怎麼處理
一個函數需要返回兩個值的話 可以根據你自己的需求決定是用強類型還是弱類型
強類型的話 比較安全 但是寫起來比較麻煩 代碼也不是很美觀
弱類型的話 代碼比較優美一點 但是相對的 需要對類型判斷好
//強
classData{
ValueAa;
ValueBb;
}
publicDatafunction(){
...
Datadata=newData();
data.a=xxx;
data.b=xxx;
returndata;
}
//弱
publicObject[]function(){
ValueAa;
ValueBb;
...
Object[]objs=newObject[]{a,b};
returnobjs;
}
2. 一個方法可以有多少個參數多少個返回值 Java
Java一個方法可以有0個或1個返回值。
函數的返回值類型是在定義函數時指定的。return 語句中表達式的類型應與定義函數時指定的返回值類型一致。
如果不一致,則以函數定義時的返回值類型為准,對 return 語句中表達式的類型自動進行轉換,然後再將它返回給主調函數使用。
(2)同一個方法怎麼有多種返回值類型擴展閱讀:
事實上在執行 return 語句時系統是在內部自動創建了一個臨時變數,然後將 return 要返回的那個值賦給這個臨時變數。
所以當被調函數運行結束後 return 後面的返回值真的就被釋放掉了,最後是通過這個臨時變數將值返回給主調函數的。
3. 一個方法里為什麼會有兩個return返回值
有返回值的方法,必須返回值,如果沒有什麼值要返回,那就return null return * 是方法返回值,而this.* = *是set方法,這兩者沒什麼關系。
軟體(software)是一系列按照特定順序組織的計算機數據和指令的集合。一般來說,計算機軟體被劃分為編程語言、系統軟體、應用軟體和介於這兩者之間的中間件。其中系統軟體為計算機使用提供最基本的功能,但是並不針對某一特定應用領域。而應用軟體則恰好相反,不同的應用軟體根據用戶和所服務的領域提供不同的功能。軟體並不只是包括可以在計算機上運行的計算機程序,與這些計算機程序相關的文檔,一般也被認為是軟體的一部分。簡單的說軟體就是程序加文檔的集合體。軟體被應用於世界的各個領域,對人們的生活和工作都產生了深遠的影響。
4. c語言中調用函數如何返回多個值
1、通過使用指針,在函數調用時,傳遞帶有地址的參數,並使用指針更改其值;這樣,修改後的值就會變成原始參數。
5. C語言中函數有多個返回值的實現
第一種:以數組的形式返回。返回值是同種數據類型
int[] getData(參數)
{
函數體
}
第二種:以結構體形式返回,返回值可以是不同的數據類型
struct ABC{
char name[20];
int n;
};
struct ABC myfun(void){
struct ABC x={"Lining",99};//聲明一個結構體局部變數x並初始化
return x;//返回局部變數結構體x
}
6. 寫個方法,怎樣根據參數讓其具有不同的返回值類型
方法名必須相同
方法參數類型、個數至少有一項不同
方法的返回類型可以不相同
方法的修飾符可以不相同
例:
public void test(){
};
public int test(){
return 0;
};
public String test(){
return "";
};
public void test(int i){
};
7. 怎樣讓函數返回兩個不同類型的值
20080619:
我說的就是c。
已給你發到站內信。
20080618:
有兩種方法:
第一種,通過返回值返回(return)。讓你的函數返回一個結構體,你的整數和指針作為結構體的成員變數。
第二種,通過參數返回。因為參數是值傳遞,所以你的整數參數要作為int*指針,你的指針則要作為指針的指針。
同樣第二種方式你的兩個參數也可以放到一個結構體里,作為參數傳出,同樣結構體要作為指針傳入。
8. java 如何能在一個方法中返回多個值
最開始說一下我使用的解決辦法:Pair 和 Triple
偶然看到這個問題,瀏覽量也很大,還是寫一下我認為最好的辦法吧,跟大家交流一下。
說一下前面的人答的方案,都可以解決問題,但是覺得不太好。您要是說 可以解決問題就行,那我無話可說。寫代碼如果只是為了完成任務,不考慮實現是否優雅 和咸魚有什麼區別呢。
數組明顯不合適,數組適合放同一類型的數據,當然,你可以使用List<Object>,用Object 放結果,調用方需要知道Object的實際類型並做強制轉換,不夠優雅,差評
Map<String,Object> 是一種能解決問題的做法,使用Object 來放結果也存在調用方需要知道其實際類型並做強轉的問題,用key 作區分,方法調用者需要知道方法內部的key ,即使使用全局變數做key 也不夠優雅
自定義對象,新建一個類,例如 public class DoubleResult<A, B>{getter; allArgsConstructor;}、public class TripleResult<A, B, C>{getter; allArgsConstructor;
} ,效果棒棒的
接下來要說的 Pair 和Triple 就是上面第三種方案的實現。org.apache.commons.lang3.tuple.Pair,org.apache.commons.lang3.tuple.Triple 是commons-lang包里的兩種元組類型。Pair<L,R>可以存兩個數據,Triple<L,M,R> 可以存三個,再多 那麼考慮一下你的方法是否可以拆一下。
簡單說一下他們的用法吧。
Pair 初始化:
Pair.of(Lleft,Rright);
例:Pair.of("a","b");
或:
Pair<Object,Object>pair=newPair<Object,Object>(){
@Override
publicObjectgetLeft(){
returnnull;
}
@Override
publicObjectgetRight(){
returnnull;
}
@Override
publicObjectsetValue(Objectvalue){
returnnull;
}
};
Triple 初始化:
Triple.of(Lleft,Mmiddle,Rright)
或:
Triple<Object,Object,Object>triple=newTriple<Object,Object,Object>(){
@Override
publicObjectgetLeft(){
returnnull;
}
@Override
publicObjectgetMiddle(){
returnnull;
}
@Override
publicObjectgetRight(){
returnnull;
}
};
Pair 獲取內容:
pair.getKey();
pair.getValue();
Triple 獲取內容:
triple.getLeft();
triple.getMiddle();
triple.getRight();
另外org.apache.commons.lang3.tuple 包下還有ImmutablePair、ImmutableTriple、MutablePair、MutableTriple 分別對應兩種結構的不可變和可變類型,大家可以自行探索。
9. C++,可否一個函數返回多種類型的值
不能只有一個函數卻有多個返回類型,但是你可以重載多個不同返回類型的同名函數
10. iOS用三種途徑實現一方法有多個返回值
把多個返回值放到List 返回出去 直接返回多個值的 數組 直接返回一個對象,對象裡面自定義多個返回值存儲。