SóProvas


ID
1306486
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2014
Provas
Disciplina
Programação
Assuntos

No que se refere à arquitetura e à programação Java, julgue o item que se segue.


No JSE (Java Standard Edition) versão 8, é possível utilizar recursos inerentes à programação funcional por meio de uma nova característica da linguagem chamada expressões Lambda, que permitem o tratamento de funções como argumentos de métodos.

Alternativas
Comentários
  • já cobrando Java8.. do mal hein

  • Expressões lambda são uma funcionalidade comum em muitas linguagens, mas que recentemente vêm sendo introduzidas em linguagens de outros paradigmas como, no caso, o Imperativo/Orientado por Objetos/JAVA).

    Permitem que funções e outras coisas mais (como classes) sejam referenciados e passados como argumento. Exemplo usando JavaScript:

    function teste() { alert("teste"); }

    var x = teste;

    x(); // Alerta "teste"


  • RESOLUÇÃO:

    Meus queridos, as expressões lambda, são algumas funcionalidades comum em muitas linguagens, mas que recentemente vêm sendo introduzidas em linguagens de outros paradigmas como, no caso, o Imperativo/Orientado por Objetos/JAVA).

    Resposta: Certo

  • A questão versa sobre a versão 8 do Java Standard Edition (Java SE ou JSE).

    Aqui, antes de adentrar na questão, faz-se necessária uma breve contextualização acerca das plataformas Java. Uma plataforma Java pode ser entendida como um ambiente específico no qual os aplicativos da linguagem de programação Java são executados. Todas as plataformas Java consistem em uma Java Virtual Machine (JVM) e uma interface de programação de aplicativos (API) [1].

    De acordo com Oracle (2021), existem quatro plataformas da linguagem de programação Java:

    - Plataforma Java, Standard Edition (Java SE).
    - Plataforma Java, Enterprise Edition (Java EE).
    - Plataforma Java, Micro Edition (Java ME).
    - JavaFX.

    A Java Platform, Standard Edition (Java SE), objeto da questão,  permite desenvolver e implantar aplicativos Java em desktops e servidores. Além da API principal, a plataforma Java SE consiste em uma máquina virtual, ferramentas de desenvolvimento, tecnologias de implantação e outras bibliotecas de classes e kits de ferramentas comumente usados em aplicativos de tecnologia Java [1].

    Feita essa contextualização, vamos à análise da questão. As expressões Lambda compreendem um novo recurso incluído a partir da versão 8 do JAVA SE, provendo importantes recursos inerentes à programação funcional. Elas fornecem, de forma clara e concisa, uma maneira de representar uma interface de método usando uma expressão.

    Uma das aplicações mais conhecidas de expressões Lambda é em conjunto com as bibliotecas Collection, tornando mais fácil iterar, filtrar e extrair dados de uma coleção [2].

    Por meio do uso de Lambda, É POSSÍVEL PASSAR UMA FUNCIONALIDADE (FUNÇÃO) COMO ARGUMENTO PARA IMPLEMENTAR UMA INTERFACE FUNCIONAL. O trecho de código abaixo exemplifica o uso de  expressões Lambda:

    Figura 1 - Exemplo de utilização de expressão Lambda na linguagem Java.



    Fonte:  GeeksforGeeks [3].

    No exemplo acima, no método sort da classe Collections, é passado como parâmetro um objeto da classe ArrayList e uma função específica para ordenação, que irá implementar a interface funcional Comparator<T>.

    Logo, questão CORRETA.


    Referências:

    [1] ORACLE. The java Programming Language Platforms. Disponível em: site oficial da Oracle. Acesso em: 7/6/2021.

    [2] ORACLE. Lambda ExpressionsDisponível em: site oficial da Oracle. Acesso em: 7/6/2021.

    [3] GEEKSFORGEEKS. Java Lambda Expression with Collections. Disponível em: site da Geeksforgeeks. Acesso em: 7/6/2021.


    Gabarito do Professor: CERTO.