2021/06/7

Salesforceのコードに出てくる「new」って何なのかを徹底的に解説していきます

 
  

Salesforceにおける「new」の正体

Salesforce上で出てくる「new」とは、Apexの演算子の1つです。しかしどういう機能を持っていてどういう風に使えば良いかが分からないのではないでしょうか。そこで今回はSalesforceにおける演算子newの役割や実際の使い方をご紹介していきます。

そもそも演算子とは

そもそも演算子とは、計算の際に使用される符号(+、-、×など)や数値の大きさを比べる記号(<や>など)の事です。 Salesforce上でも+や-などの符号の演算子がポピュラーで、変数に格納されている値を足したり引いたりする事が出来ます。ただし、文字列の演算子もあり、その1つが「new」なのです。

演算子「new」とは

演算子「new」とは、Salesforceにおいてクラスからインスタンスを作成する際に必要となってくるオブジェクト指向を持つ演算子の1つです。以下のコードの様にクラスの横に書き並べ、変数に代入する事で処理が実行されます。
tms = String.new(str);



演算子「new」の使い方

演算子「new」は様々な場面で活躍します。オブジェクトの宣言や追加、データ型の要求などです。+や-等の演算子と比べると頻出度は下がっていきますが、これらの場面には必要となってきます。

オブジェクトの宣言

SalesforceのApexでは、オブジェクトを定義する際に必要になります。それから「実際に使えるインスタンスの生成」に繋がるからです。特にsObjectを宣言する際には演算子newが以下のコードで示す様に活躍します。
Account p = new Account();
YourCustomObject__c co = new YourCustomObject__c();

データ型を要求する

Salesforce上において、演算子newはsObjectの具体的なデータ型を必要とします。従って、以下のコードの様にクラスからインスタンスを作成する際にはsObjectのデータ型を示す必要があります。
sObject s = new Account();

新しいsObjectを追加したい時

新しいsObjectをインスタンスする際にも演算子「new」が活躍します。「インスタンスを作成する」のは基本的には変わらないからです。以下の様なコードを作成します。 sObject a = new sObject(name = 'Specific', billingcity = 'mud skipper'); 気を付けたいポイントとしては、nameとvalueの値を初期化しておく事です。この場合、nameにはspecific、valueにはbillingcityとしてmudskipperを指定しています。

インスタンス化の際に困ったら演算子newを思い出して

クラスからインスタンスを作成する際に演算子newが活躍します。ただし、sObjectに関しては具体的なクラス名が求められるので気をつけてください。使い方自体はクラス名の前後に並列させれば良いだけなので、是非活用してください。
]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】