2017-03-31 5 views
0

l異なるタイプのパラメータ(int、float、double、longなど)を関数に入力して、1つのタイプのデータ(文字列など)を返す必要があります。1つの型データを返すために、さまざまな型のパラメータを関数に入力する方法はありますか?

ここでは、異なるタイプのデータを文字列データに変換する機能を作っています。

+2

同じ方法で複数のオーバーロードが発生する可能性があります。どちらかを指定するか、パラメータタイプとして 'Number'または' Object'を受け付けます。 –

+0

さらにコンテキストを追加できますか?あなたは正確に何を達成しようとしていますか? – Mureinik

+0

public static getString(int i、float f、double d)---->戻り文字列i、文字列f、文字列d –

答えて

0

使用この:

public static <T extends Number> String getString(T element) { 
     return element.toString(); 
    } 


System.out.println(getString(new BigInteger("34234523"))); 
System.out.println(getString(234)); 
+0

と同じメソッドを作成したいと思います。 )---->戻り文字列i、文字列f、文字列d "関数 myFunction = e"できますか? –

+0

ええ、ちょうどe.toString()を使用してください –

+0

申し訳ありませんが、私はあなたがこれを行う関数について質問していたと思っていました。ジェネリックを使用してこれを行う別の方法があります。 –

0

私は私が正しくあなたの条件を理解している場合はわからないが、あなたのような何かを行う必要があるかもしれ、

static String fun(Object object) 
{ 
    if (object==null) 
    { 
     return null; 
    } 
    else 
     return new String(object.toString()); 
} 

など呼び出しを行い、

String val = fun(3.4); 
+0

ありがとうございます! /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////上記のように、 ////////// 3つのパラメータ "int i、float f、double d"を同時に入力してください! /////////一度だけのタイプではない –

+0

重要な点は、同時に多数の異なるパラメータ「int i、float f、double d、······」を入力することです!/////////////私を助けてください!ありがとうございました!!! –

+0

これは動作しますが、このメソッドは任意のObjectを取ります。それは、配列、基本的に何かStringを取るでしょう。ジェネリックスは仕事をより正確に行う方法です。 –

0

あなたのように聞こえます:

データ型への
  1. 変換数タイプ
  2. 戻り、複数の文字列

1号がで達成することができます:

double num = 123.123123;  
return "" + num; 
//or 
int i = 5; 
String s = "int: " + i; 
return s; 

番号のデータ型があれば自分で文字列に「自分を変える」だろう.toString()メソッドを使用して"" + numを使用します。


コメントに基づいて、各入力パラメータの複数の文字列を返す必要があります。

のpublic staticのgetString(INT I、フロートF、ダブルD)---->戻り列I、列F、列D、典型的には、一つの変数から複数の文字列を返すために

あなたが本当にこれはArrayを達成することができる一つの機能にすべてのこれらの異なる機能をジャムにしたい場合は

また
String intToString(int n) { 
    return " + n; 
} 

String intToFloat(float n) { 
    return "" + n; 
} 

String intToDouble(double n) { 
    return "" + n; 
} 

:我々はいくつかの機能に機能を分割します。

public static void main (String[] args) { 
    int i = 1; 
    //the f on the end of this number is an implicit cast 
    float f = 5.5f; 
    double d = 6.123; 
    String[] a = getString(i,f,d); 
    System.out.println("int: " + a[0]); 
    System.out.println("float: " + a[1]); 
    System.out.println("double: " + a[2]); 
} 
public static String[] getString(int i, float f, double d) { 
    int numberOfReturns = 3; 
    String[] a = new String[numberOfReturns]; 
    a[0] = "" + i; 
    a[1] = "" + f; 
    a[2] = "" + d; 
    return a; 
} 
関連する問題