1. 程式人生 > >Delphi 2010支援泛型了,更復雜更強大

Delphi 2010支援泛型了,更復雜更強大

因為工作原因,使用了Delphi2010,發現Delphi 2010支援泛型了,這個東西以前一直是C++的東西,現在盡然Object Pascal也支援了,雖然更復雜,但更符合邏輯語言了,非常的好,因為2007都還沒有支援泛型,估計是在2009版本中支援的,有了對泛型的支援,則更趨完美,更符合人類語言,但確實是理解上更難一些,但一旦理解透徹,使用將得心應手。簡單舉兩個列子吧: TList到 TList<int>、TList<string>、TList<Pointer>,當然了,TList類還是保留的。 var   arrint: array of int; begin     TArray.Sort<int>(arrini);
end;   TArray<T> = array of T;   //這是一個新的泛型型別
在新的編譯器中主要是這兩個單元(Generics.Collections, Generics.Defaults)定義了大量的泛型,大家可以多看看和多使用,以加深對泛型的理解。注意的是泛型是在編譯的時候就確定了型別的。 對泛型的支援,那是相當的支援啊!!!!!

相關推薦

Delphi 2010支援強大

因為工作原因,使用了Delphi2010,發現Delphi 2010支援泛型了,這個東西以前一直是C++的東西,現在盡然Object Pascal也支援了,雖然更復雜,但更符合邏輯語言了,非常的好,因為2007都還沒有支援泛型,估計是在2009版本中支援的,有了對泛型的支援,則更趨完美,更符合人類語言,但確實

maven打包時出現【java source 1.3中不支援 請使用 -source 5 或高版本以啟用】錯誤時的解決方法

出現【java source 1.3中不支援泛型 請使用 -source 5 或更高版本以啟用泛型】問題的原因是因為jdk版本使用不對,maven編譯打包時找到的是低版本的jdk,可以在總pom中新增以下語句顯示指明使用版本為1.6的jdk即可解決這個問題 <buil

一個尖括號能幹什麼畫一個笑臉開始(為了支援互動它又增添JavaScript。HTML頁面也越來越臃腫。於是CSS便誕生。API和核心程式碼的出現使HTML能夠訪問更復雜的軟體功能--支援更高階的互動和雲服務整合。這就是今天的HTML5)

一個尖括號 < 一個尖括號能幹什麼 < ? 你可以編出一頂帽子 <(:-p 或一張笑臉 :-> 再或者更直接一些   20世紀90年代初,html作為一種簡單標記語言面世,用於在網際網路上顯示超文字。經過發展,html逐漸包含圖片和佈局設計功能。為了支援互動,

RestTemplate中使用ParameterizedTypeReference引數化型別支援主要是List

在使用http請求時,往往會封裝一個統一的結果類 package com.plateno.booking.sync.ebk.process.http.response; public class InternalDataServiceResult<T> {

用 Java 手把手寫一個“二叉搜尋樹”支援

一、二叉搜尋樹 先說一下二叉樹,二叉樹是一種至多隻有左右兩個子結點的樹形結構。 二叉搜尋樹是二叉樹的一種,對於任意一個結點 x,其左子樹的任一結點的值都不大於 x 的值,其右子樹的任一結點的值都不小於 x 的值。 二叉搜尋樹上的基本操作有 查詢 (search)、最小值

Swift4新特性介紹2(下標支援Codable序列化)

原文 http://www.hangge.com/blog/cache/detail_1824.html 文章目錄 下標支援泛型 下標的返回型別支援泛型 下標型別同樣支援泛型 Codable 序列化

Java之集合初探(二)Iterator(叠代器)collections打包/解包(裝箱拆箱)(Generic)comparable接口

基本 generate 等於 框架 ring bin list() each 是否 Iterator(叠代器) 所有實現了Collection接口的容器都有一個iterator方法, 用來返回一個實現了Iterator接口的對象 Iterator對象稱作叠代器, 用來

十二、事件委托委托集合(和非Lambda表達式(聲明委托使用委托簡單的委托示例action<T>和func<t>委托多播委托匿名方法Lambda表達式參數事件)

multicast new 調用方法 多播 ted 被調用 輸入參數 pac cas 事件(Event) 事件是一種對象或類能夠提供通知的成員,客戶端可以通過提供事件處理程序為相應的事件可添加可執行代碼,事件可以理解為一種特殊的委托。 委托(Delegate) 委托是存有對

一個尖括號能幹什麽畫一個笑臉開始(為了支持交互它又增添JavaScript。HTML頁面也越來越臃腫。於是CSS便誕生。API和核心代碼的出現使HTML能夠訪問更復雜的軟件功能--支持高級的交互和雲服務集成。這就是今天的HTML5)

重要 htm 服務 廠商 inf web運行 ima 用戶 界面 一個尖括號 < 一個尖括號能幹什麽 < ? 你可以編出一頂帽子 <(:-p 或一張笑臉 :-> 再或者更直接一些 20世紀90年代初,html作為一種簡單標記語言面

為什麽前後端分離你比從前痛苦?

技術 book 設計 機制 需求 返回 痛苦 頁面 更改 ? 你有沒有遇到過: 前端代碼剛寫完,後端的接口又變了。 接口文檔永遠都是不對的。 測試工作永遠只能臨近上線才能開始。 為什麽前後端分離了,你比從前更痛苦? 前後端分離早已經不是新聞,當真正分離之

Java集合總結機制可變引數

List實現類的區別及適用場景   底層實現 優缺點 執行緒是否安全 效率 適用場景 ArrayList 陣列 查詢易,增刪難 否 高

Action<T>和Func<T>委託委託匿名函式Lambda表示式的綜合使用

前言 在上篇文章C#中委託(delegate)和多播委託的理解中已經基本瞭解了委託的用法。 由於委託封裝的方法我們不一定知道其傳入的引數和返回值,例如之前說的的排序方法—————在物件的排序演算法中,需要對物件進行比較,而不同物件比較的方法不同,所以比較兩個物件的方法的引用可以作為引數傳

java-陣列以及列舉

列舉: java不允許用=為列舉常量賦值,列舉中的構造方法必須為private修飾 列舉中values方法將列舉型別的成員以陣列的形式返回 toString方法能夠返回列舉常量名 ordinal方法返回enumeration宣告中列舉常量的位置 列舉是一個類,可以有自己的屬性和方法並且實現

[golang]讓golang支援程式設計的一種方案

本部落格原創博文版權所有 @[email protected] 僅供交流學習使用用於商業用途請聯絡原作者  轉載請註明出處:http://blog.sina.com.cn/a

重溫C#委託匿名方法Lambda委託表示式樹程式碼示例

帶你重溫C#委託,匿名方法,Lambda,泛型委託,表示式樹程式碼示例:     這些對老一代的程式設計師都是老生常談的東西,沒什麼新意,對新生代的程式設計師卻充滿著魅力。曾經新生代,好多都經過漫長的學習,理解,實踐才能掌握委託,表示式樹這些應用。今天我嘗試用簡單的方法敘述一下,讓

Java基礎系列(三十七):繼承萬用字元反射

泛型型別的繼承規則 首先,我們來看一個類和它的子類,比如 Fruit 和 Apple。但是Pair<Apple>是Pair<Fruit>的一個子類麼?並不是。比如下面的這段程式碼就會編譯失敗: Apple[] apples = ...; Pair<F

Action和Func委託委託匿名函式Lambda表示式的綜合使用

前言 在上篇文章C#中委託(delegate)和多播委託的理解中已經基本瞭解了委託的用法。 由於委託封裝的方法我們不一定知道其傳入的引數和返回值,例如之前說的的排序方法—————在物件的排序演算法中,需要對物件進行比較,而不同物件比較的方法不同,所以比較兩個物件

C++模板初階(程式設計函式模板類模板)

1.泛型程式設計 怎麼實現一個通用的交換函式呢 使用函式過載雖然可以實現,但是有一下幾個不好的地方: 1. 過載的函式僅僅只是型別不同,程式碼的複用率比較低,只要有新型別出現時,就需要增加對應的函式 2. 程式碼的可維護性比較低,一個出錯可能所有的過載均出錯

支援的連結串列(實現連結串列反轉方法)

連結串列的概念 連結串列是由一系列非連續節點組成的線性表,連結串列的組成單元是節點,每個節點都有資料域和引用域,節點之間就是通過引用域聯絡起來,連結串列的第一個節點是頭結點,最後一個節點是尾節點,我們可以通過頭結點逐個找到它之後的節點,一個節點總是指向下一個節點,故連結串列是線性的。記憶

C# 約束函式

   class 泛型     {         public static void Main()         {             //---------------測試泛型約束-------             //定義一個Pression陣列