Salesforce/Learning concept
Apex Programming Language는 C#, Java와 비슷하다.
Developer_Foryou
2020. 3. 10. 23:41
Apex는 객체지향언어로 Lightning Platform에서 저장되고, 컴파일되며, 실행된다.
Data Type: 모든 변수는 기본적으로 null로 초기화된다.
- Integer
- Double
- Long
- Date
- Datetime
- String
- Boolean
- ID
Collection: List, Set, Map를 사용한다.
List
List<String> myStrings = new List<String>();
- Apex에서 List는 배열과 거의 동일하게 작동하며, 서로 바꿔서 사용할 수 있다.
String[] myStrings = new List<String>();
- add() 함수:
List<String> myStrings = new List<String> {'String1', 'String2', 'String3' };
List<String> myStrings = new List<String>();
myStrings.add('String1');
myStrings.add('String2');
myStrings.add('String3');
- SOQL: Database의 SQL문과 같이 Query를 받을 때, List를 주로 사용한다.
List<Account> myAccounts = [SELECT Id, Name FROM Account];
- 인덱스는 0부터 시작한다.
List<Account> myAccounts = [SELECT Id, Name FROM Account];
String firstAccount = myAccounts[0].Name;
Set
- 중복을 포함하지 않은 요소의 정렬되지 않은 컬렉션
- ID값은 항상 고유하기 때문에 집합은 일반적으로 ID값을 저장할 때 사용하며, SOQL Query에서 WHERE 절의 일부로 사용한다.
Set<ID> accountIds = new Set<ID>{'001d000000BOaHSAA1','001d000000BOaHTAA1'};
List<Account> accounts = [SELECT Name FROM Account WHERE Id IN :accountIds];
Map
- (Key, Value) 쌍의 모음
- 각 Key는 단일값으로 매핑한다.
Map<Id, Account> accountMap = new Map<Id, Account>([SELECT Id, Name FROM Account]);
- get(Key): Map에 저장된 Key에 해당하는 Value를 가져온다.
Id accId = '001d000000BOaHSAA1'; Account account = accountMap.get(accId);
- put(Key, Value): Map에 Key에 해당하는 Value를 저장한다.
Account acct = new Account();
acct.Id = '001d000000BOaHSAA1';
acct.Name = '삽입될 계정';
Map<Id, Account> accountMap = new Map<Id, Account>();
accountMap.put(acct.Id, acct);