Why am I getting “Static method cannot be referenced from a non static context: String...

Strange use of "whether ... than ..." in official text

Expressing the idea of having a very busy time

What CSS properties can the br tag have?

Is there a difference between "Fahrstuhl" and "Aufzug"?

What does "shotgun unity" refer to here in this sentence?

Is there a reasonable and studied concept of reduction between regular languages?

What difference does it make using sed with/without whitespaces?

Purpose of level-shifter with same in and out voltages

How to Implement Deterministic Encryption Safely in .NET

what's the use of '% to gdp' type of variables?

Aggressive Under-Indexing and no data for missing index

Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico

Does higher Oxidation/ reduction potential translate to higher energy storage in battery?

Can you teleport closer to a creature you are Frightened of?

Where do students learn to solve polynomial equations these days?

Can someone explain this formula for calculating Manhattan distance?

Decide between Polyglossia and Babel for LuaLaTeX in 2019

Calculate the Mean mean of two numbers

How did Beeri the Hittite come up with naming his daughter Yehudit?

It is correct to match light sources with the same color temperature?

Help! I cannot understand this game’s notations!

Players Circumventing the limitations of Wish

Is it correct to say moon starry nights?

Is there a way to save my career from absolute disaster?



Why am I getting “Static method cannot be referenced from a non static context: String String.valueOf(Object)”?



The Next CEO of Stack Overflow
2019 Community Moderator ElectionNon static method cannot be referenced from a static context: Integer Date.dayOfYear()Static method able to be called/executed from class instantiated from type.newInstance() with interface. Expected?Static method cannot be referenced from a non static context: List<String>Can only initialize a map within context of a function? ( can't initialize within constructor too)Save Error in Test Class for @InvocableMethod: Static method cannot be referenced from a non static contextStatic method cannot be referenced from a non static context in testclassStatic method cannot be referenced from a non static context: System.Pattern System.Pattern.compile(String)Non static method cannot be referenced from a static contextStatic method cannot be referenced from a non static context (PageReference)Use void Apex method in Lightning Web Component












1















I have this static class called from my lightning component, but am getting the error




"Static method cannot be referenced from a non static context: String String.valueOf(Object)"




on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



@AuraEnabled
public static void generatePDF(myRec__c rec, string selquarter){
string selqenddate = selquarter.substringBetween('(', ')');
date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
myPDF(rec.id, '', '');
}









share|improve this question





























    1















    I have this static class called from my lightning component, but am getting the error




    "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




    on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



    @AuraEnabled
    public static void generatePDF(myRec__c rec, string selquarter){
    string selqenddate = selquarter.substringBetween('(', ')');
    date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
    myPDF(rec.id, '', '');
    }









    share|improve this question



























      1












      1








      1








      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }









      share|improve this question
















      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }






      apex parameters static






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 3 hours ago









      Jayant Das

      17.4k21330




      17.4k21330










      asked 4 hours ago









      IreneIrene

      5052418




      5052418






















          2 Answers
          2






          active

          oldest

          votes


















          4














          The string class's valueOf() method is a static method.



          Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



          What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



          bad:



          selqenddate.valueOf(selqenddate)


          good:



          String.valueOf(selqenddate)


          Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



          Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






          share|improve this answer































            1














            As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



            You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



            Date startdate = 
            (Date.valueOf(selqenddate))
            .addMonths(-3)
            .toStartOfMonth();


            Note, there’s no property startOfMonth on Date class.






            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "459"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The string class's valueOf() method is a static method.



              Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



              What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



              bad:



              selqenddate.valueOf(selqenddate)


              good:



              String.valueOf(selqenddate)


              Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



              Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






              share|improve this answer




























                4














                The string class's valueOf() method is a static method.



                Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                bad:



                selqenddate.valueOf(selqenddate)


                good:



                String.valueOf(selqenddate)


                Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                share|improve this answer


























                  4












                  4








                  4







                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                  share|improve this answer













                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 4 hours ago









                  Derek FDerek F

                  20.8k52353




                  20.8k52353

























                      1














                      As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                      You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                      Date startdate = 
                      (Date.valueOf(selqenddate))
                      .addMonths(-3)
                      .toStartOfMonth();


                      Note, there’s no property startOfMonth on Date class.






                      share|improve this answer




























                        1














                        As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                        You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                        Date startdate = 
                        (Date.valueOf(selqenddate))
                        .addMonths(-3)
                        .toStartOfMonth();


                        Note, there’s no property startOfMonth on Date class.






                        share|improve this answer


























                          1












                          1








                          1







                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.






                          share|improve this answer













                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 3 hours ago









                          Jayant DasJayant Das

                          17.4k21330




                          17.4k21330






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Salesforce Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              El tren de la libertad Índice Antecedentes "Porque yo decido" Desarrollo de la...

                              Castillo d'Acher Características Menú de navegación

                              Connecting two nodes from the same mother node horizontallyTikZ: What EXACTLY does the the |- notation for...