Why am I getting “Static method cannot be referenced from a non static context: String String.valueOf(Object)”? The Next CEO of Stack Overflow2019 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

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

Help/tips for a first time writer?

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

How to avoid supervisors with prejudiced views?

Is it convenient to ask the journal's editor for two additional days to complete a review?

TikZ: How to fill area with a special pattern?

Film where the government was corrupt with aliens, people sent to kill aliens are given rigged visors not showing the right aliens

Calculate the Mean mean of two numbers

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

Small nick on power cord from an electric alarm clock, and copper wiring exposed but intact

Can Sneak Attack be used when hitting with an improvised weapon?

free fall ellipse or parabola?

Is it okay to majorly distort historical facts while writing a fiction story?

Could a dragon use its wings to swim?

Would a grinding machine be a simple and workable propulsion system for an interplanetary spacecraft?

Airplane gently rocking its wings during whole flight

Purpose of level-shifter with same in and out voltages

Reshaping json / reparing json inside shell script (remove trailing comma)

Players Circumventing the limitations of Wish

Is fine stranded wire ok for main supply line?

What flight has the highest ratio of timezone difference to flight time?

What was Carter Burke's job for "the company" in Aliens?

Is it OK to decorate a log book cover?

Is it ever safe to open a suspicious HTML file (e.g. email attachment)?



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 4 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 4 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

                              Dapidodigma demeter Subspecies | Notae | Tabula navigationisDapidodigmaAfrotropical Butterflies: Lycaenidae - Subtribe IolainaAmplifica

                              Constantinus Vanšenkin Nexus externi | Tabula navigationisБольшая российская энциклопедияAmplifica

                              Gaius Norbanus Flaccus (consul 38 a.C.n.) Index De gente | De cursu honorum | Notae | Fontes | Si vis plura legere | Tabula navigationisHic legere potes