title: dart final property can change values
body: <p>Hey guys I've searched the answers and didn't find it, so I'm asking.</p>
  <p>I have a class with a list property, Dart Lint said to put the keyword 'final' before it.
  The final keyword should prevent the values to change, or I got it wrong?</p>
  <pre><code>class Questions {
  final List&lt;Question&gt; _questionList = [
  Question('Is the ocean blue', true),
  Question('Is the sky blue', true),
  ];
  
  //method that shouldn't work
  void setQuestionAnswer(int questionNumber, bool newAns) {
      _questionBank[questionNumber].questionAnswer = newAns;
    }
  }
  
  //another file that have the class to the list above
  class Question {
    String questionText;
    bool questionAnswer;
  
    Question(this.questionText, this.questionAnswer);
  }
  
  Questions questionsk = Questions();
  
  //this actually works, but a final property shouldn't be able to change
  // values, why it works? I can change the value
  questionsk.setQuestionAnswer(questionNumber, false);
  </code></pre>