Groovy將字串型別轉換為自定義型別的方法

2021-05-25 15:13:54 字數 947 閱讀 1277

將乙個字串轉換為自定義型別:

例如quantity是自定義的乙個class,現在想這麼呼叫

quantity quantity = "100個" as quantity

或 def quantity = "100個".astype(quantity)

需要過載string的astype方法(string.metaclass.astype)。具體實現如下(注意static方法塊):

package com.cninsure.datatype

/**

* 數量單位

*/ class quantity extends insdatatype

static else } }

@override

void build(val)

def regular = /^(/d+(/./d+)?)/s?(/s+)?/

if (!(val ==~ regular))

def result = (val =~ regular)           //拆分

number value = result[0][1]

string qu = result[0][3]

this.amount = value

this.unit = qu

return }

static quantity from(val)

@override

boolean identity(object val)

if (amount == val.amount && unit == val.unit) return true

return false }

@override

string display()

public string tostring() ';

} }

將數字轉換為字串

在日常程式設計中,我們經常需要將各型別的數字轉換為字串,這裡介紹幾種簡單方法。本文沒有介紹轉換的具體演算法。1.使用巨集轉換常量數字為字串 定義如下的巨集 define to string x x 則在 中就可以將各種型別的數字轉換為字串。這個巨集可以將任意的 中的字串轉換為c語言風格的字串 例 t...

將字串轉換為整數

該問題的知識點 1.對於c 風格的字串來說,結尾標誌位 0 2.將純數字字串轉換為整數,需要依次的拿前乙個字元生成的數字乘以 10 再加上當前字元和 0 的差 3.對於特殊情況的處理 空字元陣列 字串中間有空格,字串前面會有很多空格 字串中間存在不合法字元 字串第乙個非空字元為 或者 對於最大正整數...

將字串轉換為整數

這是一道經典的面試題,在收到這樣一道題時我們不要急於動手,先思考一下這道題的解決思路 1.在函式呼叫時我們需要用指標來接收陣列的位址,那麼指標是否需要判空?2.如果獲取的字串起始位出現 號該如何處理?3.如果獲取到的並非數字字串該如何處理?4.如果獲取的字串正確,該如何返回成整數形式?5.如過獲取的...