---
title: Disabled and restricted SpEL features
description: You can only declare primitive arrays. Use List for both primitive and non-primitive arrays.
component: pingone
page_id: pingone:pingone_expression_language:p1_disabled_spel_features
canonical_url: https://docs.pingidentity.com/pingone/pingone_expression_language/p1_disabled_spel_features.html
revdate: May 3, 2024
---

# Disabled and restricted SpEL features

* [Array declaration and initialization](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-properties-arrays)

  You can only declare primitive arrays. Use List for both primitive and non-primitive arrays.

* [Type (T) operator](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-types)

  This feature is disabled along with the restriction on Java class usage.

* [instanceof operator](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-operators)

  This feature is disabled along with the restriction on Java class usage.

* [Assignment operator](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-assignment)

  All external data used in the expression through external property references are read only.

* [Static and Instance methods](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-methods)

  None of the static or instance methods in the Java API are accessible in expressions.

* [Operators](p1_expressionlang_operators.html)

  A leading and trailing space is required for the binary operators, as explained in the [Operators](p1_expressionlang_operators.html) section.

* [Safe Navigation (?.) Operator](https://docs.spring.io/spring-framework/docs/5.1.x/spring-framework-reference/core.html#expressions-operator-safe-navigation)

  The Safe Navigation operator is disabled because PingOne's expression language already attempts safe navigation internally when accessing object properties, except for object literals similar to the Safe Navigation operator (`?.`). This allows access to child properties against a parent object without errors, even if the parent object is null.

For example, `user.address.city` returns null if either `user` or `address` is null.
