第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何創(chuàng)建接受符號(hào)的構(gòu)造函數(shù),例如:*、+、() 等

如何創(chuàng)建接受符號(hào)的構(gòu)造函數(shù),例如:*、+、() 等

湖上湖 2023-11-01 21:58:19
我試圖通過(guò)構(gòu)造函數(shù)傳遞某些類(lèi)型的字符(例如標(biāo)題中的字符),然后為其分配一個(gè)枚舉。我有一個(gè)具有三個(gè)值的枚舉類(lèi):NUMBER、STRING 和 SYMBOL。我有三個(gè)構(gòu)造函數(shù):(float x) {}(String str){}(Symbol value) {}當(dāng)傳遞浮點(diǎn)數(shù)時(shí),我將變量“type”分配給 Type.STRING。對(duì)于字符串也是如此,但是對(duì)于 Type.STRING。如何對(duì)各種符號(hào)(例如標(biāo)題中的符號(hào))執(zhí)行此操作?當(dāng)我創(chuàng)建 Entry 實(shí)例并嘗試傳遞加號(hào)字符 (+) 時(shí),我收到消息“標(biāo)記“+”上存在語(yǔ)法錯(cuò)誤,請(qǐng)刪除此標(biāo)記”。public class Entry{    private Type type;    public Entry(Type value) {        this.type = Type.SYMBOL;    }}
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

在java中+是一個(gè)運(yùn)算符。它只能用作表達(dá)式的一部分,不能單獨(dú)使用。

+但是,您可以傳遞包含如下內(nèi)容的字符串:"+"或使用代表不同運(yùn)算符的枚舉:

enum?Operator?{
????PLUS,?MINUS;
}

然后你的構(gòu)造函數(shù)可以接受這樣的枚舉:

public?Entry(Operator?op)?{
}

另一種選擇是創(chuàng)建一個(gè)“加法”函數(shù),可以將兩個(gè)元素加在一起,并將該函數(shù)傳遞給構(gòu)造函數(shù)。然而,這有點(diǎn)棘手,需要知道你要添加什么類(lèi)型的東西:

BiFunction<MyObject,?MyObject,?MyObject>?addition?=??(a,b)?->?{
????//implement?a+b?here;
????//return?result;
????}

那么構(gòu)造函數(shù)可能是這樣的:

public?Entry(BiFunction<MyObject,?MyObject,?MyObject>?func)?{
}


查看完整回答
反對(duì) 回復(fù) 2023-11-01
  • 1 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)